- This topic has 2개 답변, 3명 참여, and was last updated 3 years, 1 month 전에 by pinkjuice66.
2 답변 글타래를 보이고 있습니다
-
글쓴이글
-
-
Ky J참가자
- 글작성 : 9
- 답글작성 : 3
// AppDelegate class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { let window = UIWindow(frame: UIScreen.main.bounds) window.rootViewController = TabBarViewController() self.window = window self.window?.makeKeyAndVisible() FirebaseApp.configure() return true } // SceneDelegate class SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let windowScene = (scene as? UIWindowScene) else { return } let window = UIWindow(windowScene: windowScene) window.rootViewController = TabBarViewController() self.window = window self.window?.makeKeyAndVisible() }이런 코드를 독학중에 있습니다.. appDelegate의 window에 들어가는 VC와 SceneDelegate의 window에 VC..
appDelegate에서 VC를 초기화를 했는데 또 SceneDelegate에서 VC를 초기화 하는 이유가 궁금합니다..
3일동안 appDelegate와 SceneDelegate에 대해 검색을 해봤는데 모르겠어서 질문 합니다..ㅠㅠㅠ (<멍청)
appDelegate는 앱의 LifeCycle에 관여를 하는데 왜 window를 설정하는지 모르겠네요.. var window도 어디에 쓰이고 있길래 전역변수인지..
답변 해주시면 감사하겠습니다.. 링크만 주셔도 감사하겠습니다!
- 이 게시글은 Ky J에 의해 3 years, 1 month 전에 수정됐습니다.
2021-11-23 오후 4:37 #50010 -
2021-11-23 오후 5:32 #50035
-
pinkjuice66참가자
- 글작성 : 0
- 답글작성 : 3
윗 분 말씀처럼 appDelegate와 sceneDelegate가 함께 쓰일때는(iOS13 이후의 옵션사항)
sceneDelegate에서 UIWindow 객체를 가지고, 관리하게 됩니다. 즉, 글 작성자 분의 현재 코드를 살펴보면
appDelegate와 sceneDelegate 모두에서 window property를 가지고 있는데,
sceneDelegate에서만 window property를 가져야 하는 것입니다.
새로운 프로젝트를 하나 만들어 보시면 defualt로 appDelegate가 아닌 sceneDelegate 에서만 UIWindow 객체를 가지는 것을 확인할 수 있습니다.
2021-11-24 오후 12:52 #50076
-
-
글쓴이글
2 답변 글타래를 보이고 있습니다
- 답변은 로그인 후 가능합니다.