TIL

[Sesac IOS] 15일차 TIL

15일차 수업을 듣고 새로 알게된 점과 조사하고 싶은 점들을 정리한 글입니다.


Learned

  • 지연 (lazy) 저장 프로퍼티
    • 프로퍼티를 사용하기 전엔 nil값을 갖다가 사용할때 비로소 설정한 초기값을 가지고 메모리에 올라감
    • 따라서 값이 변하지 못하는 상수(let)로 선언하지 못함.
    • 지연 프로퍼티를 멤버로 가지는 클래스, 구조체가 메모리에서 해제될때 함께 해제됨.
    • 타입 프로퍼티도 lazy하게 동작하지만 앱이 종료될때 메모리에서 해제된다는 차이 존재
  • UIWindow 객체는 UIViewController를 투영해주는 객체
  • UIViewController의 title 프로퍼티는 객체가 네비게이션 바 또는 탭 바 아이템을 갖고 있을때
    이 프로퍼티에 저장된 값을 해당 아이템에 할당한다.
  • AppDelegate에서 새로운 Scene이 필요할때 SceneDelegate의 scene 메소드 호출
  • iOS 13 이상 버전에서 초기 화면을 변경하는 방법
// AppDelegate

// 아이폰에서 connectedScene은 항상 하나 (아이패드는 아닐 수 있음)
 let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene
        
 // SceneDelegate
 let sceneDelegate = windowScene?.delegate as? SceneDelegate
 sceneDelegate?.window?.rootViewController = CustomViewController()
 // 기존의 rootViewController였던 객체는 메모리에서 해제됨
 
 sceneDelegate?.window?.makeKeyAndVisible()

 


이상입니다.

'TIL' 카테고리의 다른 글

[Sesac IOS] 18일차 TIL  (0) 2022.07.27
[Sesac IOS] 17일차 TIL  (0) 2022.07.26
[Sesac IOS] 13~14일차 TIL  (0) 2022.07.22
[Sesac IOS] 12일차 TIL  (0) 2022.07.20
[Sesac IOS] 11일차 TIL  (0) 2022.07.18