inflearn logo
강의

講義

知識共有

SwiftUIのProperty Wrapper(@State, @Binding...)

レッスン6 - @EnvironmentObject

안녕하세요 @EnvironmentObject를 RequestInterceptor에서도 사용할 수 있나요?

解決済みの質問

370

cha3088

投稿した質問数 3

0

안녕하세요.

이 부분을 듣다가 궁금한게 생겨서 질문드립니다.

제 프로젝트에서 Alamofire를 사용 중인데 RequestInterceptor를 활용해서 JWT 관리 로직을 다루려고 하고 있습니다.

궁금한 점은 로직 중에 JWT가 만료되거나 사라지면, 로그인/회원가입 뷰로 돌아가게 만들고 싶은데 RequestInterceptor에서 EnvironmentObject를 접근해서 변경할 수 있나요?

변경할 수 없다면, 어떤 방식을 사용하면 JWT가 변경됐을 때 뷰를 다시 그릴 수 있을까요?

ios swift swiftui

回答 1

1

nightdaycoding

안녕하세요

말씀해주신 부분 고민해서 예제 코드를 한번 만들어봤는데요.

 

import SwiftUI

 

struct ContentView: View {

  @AppStorage("login") var 로그인여부: Bool = false

  

  var body: some View {

    ZStack {

      if 로그인여부 {

        로그인되었을때 뷰()

      } else {

        로그인안되었을때 뷰(회원가입 등)()

      }

    }

  }

}

 

 

struct 로그인되었을때 뷰: View {    //다른 화면

    @AppStorage("login") var 로그인여부: Bool = true

    ...

}

 

 

이런식으로 ZStack으로 if문에따라 뷰를 2개 만들어놓고, 로그인여부 변수에 true, false 값에 따라 뷰를 나타내게 만들 수 있습니다.

 

AppStorage는 어느 화면에서나 접근할 수 있기 때문에 쉽게 변경가능하고요.

 

혹은 다른 방법으로는 notification center를 이용하는 방식도 있습니다.

UIKit에서는 보통 로그인 여부에 따라 특정 화면이나 동작이 수행되어야 할때, notification center를 많이 씁니다.

감사합니다

0

cha3088

@AppStorage라는게 있군요!

예제 코드까지 정말 감사합니다!

강의 잘 들었습니다!

수강 기간 연장 문의

0

28

1

수강연장부탁드려도될까요..

0

42

2

Combine Playground 에서 실행 시

0

57

2

70강 - 글로벌 액터로 격리된 Protocol 을 extension 에서 conform 시 타입 본체의 격리 수준 질문

0

41

1

searchable이 화면 하단에 위치해요

0

61

2

Drawing Cycle 관련 질문

0

72

1

앱 제작 시 주로 코드로 작성하시는 이유가 있을까요?

0

95

2

델리게이트 패턴 관련 질문

0

66

2

ios 애드몹 광고

0

134

2

수강 기간 연장 부탁드릴 수 있을까요?

0

61

1

활용 앱 57강 질문입니다.

0

55

1

그래프 그리기 위한 API가 프리미엄 요금제를 구독해야만 가능하다고 합니다...ㅜㅜ

0

75

2

과거 ai없을때 듣고 다시 듣는 중인데

1

55

1

활용 앱 30강 에러 질문입니다

0

64

2

예제 빌드시 The compiler is unable to type-check this expression in reasonable time 에러 발생

0

54

1

TextField 에 Binding 으로 연결하면 에러 발생

0

54

1

xcode 26.2 에서 ReducerOf<Self> 이슈

0

77

2

20강 Task 내부에서 nonisolated async 호출 예제 질문드립니다

0

78

2

19강 Actor 의 동작 관련해 질문드립니다

0

83

2

기초앱 17강 Contraints 설정 질문입니다.

0

67

2

예제 코드가 안나와요

0

96

2

혹시 RxSwift 강의 계획도 있으신지 궁금합니다.

1

108

1

@Environment 질문 있습니다.

1

74

1

@State 관련 질문입니다

1

252

3