본문 바로가기

IOS🍎45

[iOS] UIScene, UIWindowScene, UISceneSession SceneDelegate.swift class SceneDelegate: UIResponder, UIWindowSceneDelegate { ... } SceneDelegate가 상속받는 UIWindowSceneDelegate에 대해 자세히 살펴보고자 한다. 우선 기본적인 UI 구조는 이렇게 되어 있다고 한다. 그리고 더 자세히 살펴보면 ..! 이렇게 UIWindow와 UIScreen 사이에 무언가가 있다! 이에 대해 자세히 살펴보자 UIScene (뒤에 살펴볼 UIWindowScene과 UISceneSession이 UIScene을 상속받기 때문에 이부터 살펴볼 것이다.) 앱 ui의 하나 instance 또는 복사본을 의미한다 일반적으로 UIKit은 UIScene 객체 대신 UIWindowScene 객체를.. 2021. 4. 16.
[Swift] Closure에 대해 알아봅시다. 오늘은 그동안 많이 쓰였지만 그냥 지나친 closure에 대해 알아보고자 한다. 생략된 표현이 많아서 이게 함수인가? 하고 의문이 들때도 많고 swift/IOS 초보 일때는 많이 헷갈리는 개념인거 같다. 공식 문서(swift-closure)와 함께 정리하다보면 이제 유용하게 잘 쓰겠지 !! Closure란? 익명 함수 func으로 선언하는 것이 아닌 함수를 변수에 선언하는 형태 공식 문서에는 클로저는 어떤 상수나 변수의 참조를 캡쳐(capture)해 저장할 수 있다. 라고 정의해두었다. 이에 대해 아래에서 자세하게 살펴보자 클로저가 가지는 형태는 다음과 같이 3가지다 전역 함수 : 이름 O, 캡쳐 X 중첩 함수 : 이름 O, 캡쳐 O 클로저 표현 : 이름 X, 경량화된 문법으로 관련된 문맥(Context.. 2021. 4. 16.
[iOS] Notification과 NotificationCenter NotificationCenter는 중앙집권적이다! 모든 뷰의 행동들을 감시하고 그에 해당하는 정보를 수신해 관리하는 곳이다. 여러 notification이 모여 있는데 각 viewController에 파견되어 감시하는 친구가 Observer이고 NotificationCenter에 Observer들이 등록되어 있다. Observer와 Notification Center 그리고 notification의 관계를 각자 이름의 뜻을 잘 생각해보며 이해해보자 Notification 등록된 모든 observers에 NotificationCenter를 통해 정보를 전달하기 위한 구조체 var name : Notification.name //알림 식별 태그 var object: 발송자가 옵저버에게 보내려고 하는 객체... 2021. 4. 16.
[Swift] Property - stored, computed, type / Observer swift 언어의 가장 기본적인 문법인 property에 대해 정리해보려고 합니다. 스위프트의 property는 아래와 같이 3가지로 구분할 수 있습니다. stored Property (저장 프로퍼티) computed property (연산 프로퍼티) type property (타입 프로퍼티) 기본 문서를 참고하여 정리하였습니다. https://docs.swift.org/swift-book/LanguageGuide/Properties.html Properties — The Swift Programming Language (Swift 5.7) Properties Properties associate values with a particular class, structure, or enumeration. S.. 2021. 4. 13.
[iOS] iOS13이후의 AppDelegate와 SceneDelegate iOS 12 이전의 appDelegate의 역할 1. 하나의 앱에 하나의 window가 존재! iOS 13 이후의 appDelegate와 scenceDelegate의 역할 1. window 개념이 scene으로 대체되고 하나의 앱에 여러 scene을 가질수 있게 되었다. 2. UILifecycle을 더이상 ApplDelegate에서 관리하지 않는다. 3. AppDelegate에 Session Lifecycle 역할이 추가되었다. Scene Session이 생성(created)되거나 삭제(discarded)될때 Appdelegate에 알리는 메소드(Scene Session)가 추가되었다. Scene Session은 앱에서 생성한 모든 scene의 정보를 관리한다. Scene이란? 기존의 window 개념에.. 2021. 4. 7.