IOS분석 - SceneDelegate에서 window부분

박경현·2022년 4월 3일
0

No Storyboard로 화면 만드는 법1 -> Info

-> 여기서는 스토리보드로 프로젝트를 만든 뒤 그거 안쓰고 만드는 방법으로 설명하겠다

Info에서 item 0 까지 들어가면 storyboardname이라고 해서 나오는데 이걸 삭제해준다!!

그래야 내가 만든 화면으로 보여주기 가능!!

No Storyboard로 화면 만드는 법2 -> SceneDelegate

SceneDelegate란

앱의 Scene을 관리하는데 쓰이는 녀석이다 -> delegate를 사용하며 일반적으로 모든 장면에 응답한다!

SceneDelegate안에 함수들(라이프사이클과 연관이 깊다)

scene(_: willConnectTo: Options :)

가장 중요한 기능이며 scene이 앱에 추가될때 호출됩니다.

guard let windowScene = (scene as? UIWindowScene) else {return }

window = UIWindow(frame: UIScreen.main.bounds)
// UIScreen은 하드웨어 정보를 가져와서 크기를 결정

let vc = ViewController()
// 뷰 컨트롤러 인스턴스 가져오기

let navVC = UINavigationController(rootViewController: vc)
// 네비게이션컨트롤러 설정

window?.rootViewController = navVC
// 뿌리 뷰 컨트롤러 설정

window?.makeKeyAndVisible()
// 설정한 윈도우를 보이게끔 설정! -> 우리가 Info에서 지운 곳에 다시 적히는듯

window?.windowScene = windowScene
// 우리가 만든 윈도우씬을 실제 윈도우 씬에 넣는다

리뷰

아직 정확히 이해되지는 않았지만 스토리보드를 삭제하고 만들고 싶으면

Info에서 스토리보드 관련 정보를 삭제하고

SceneDelegate로 가서 윈도우 씬을 만들어서 실제 윈도우 씬에 넣어주면 된다라는것!!

일단 여기까지만 알기 때문에 더 정확하게 흐름을 다른 다양한 앱들을 만들어보면서 파악해보자

profile
SW로 문제를 해결하려는 열정만 있는 대학생

0개의 댓글