-
Scenes - UIKitiOS/🍎 Documentation 2021. 1. 29. 12:46
참고 자료: developer.apple.com/documentation/uikit/app_and_environment/scenes " 다수의 동일한 앱 UI 인스턴스를 동시에 관리하고, 적절한 인스턴스로 자원을 연결해 줍니다. " Overview UIKit 은 각각의 앱 UI 인스턴스를 UIWindowScene 오브젝트로 관리합니다. 이것을 씬이라고 부릅니다. 하나의 씬은 앱 UI 인스턴스 하나를 포함하기 위한 Window 그리고 View controller 를 포함하고 있습니다. 각각의 씬은 또한 UIWindowSceneDelegate 오브젝트를 하나씩 가지고 있습니다. UIWindowSceneDelegate 을 통해 앱과 UIKit 사이의 상호작용을 조율합니다. 씬은 각자 동시에 실행되며, 같은 메..
-
UIApplicationDelegate - UIKitiOS/🍎 Documentation 2021. 1. 28. 22:42
참고 자료: developer.apple.com/documentation/uikit/uiapplicationdelegate Overview AppDelegate 오브젝트는 앱 전반에서 공유되는 동작들을 관리합니다. AppDelegate 는 사실상 앱의 root object 이며, UIApplication 과 연대하여 시스템과의 상호작용들을 관리합니다. UIApplication 오브젝트와 같이, UIKit 은 AppDelegate을 launch-cycle 당시에 미리 생성해 놓으므로, 항상 존재합니다. 따라서 코드상에서 항상 접근할 수 있습니다. AppDelegate 오브젝트를 사용하여 다음과 같은 작업을 다룰 수 있습니다: 앱의 중심역할을 하는 자료구조를 초기화 하기 앱의 씬을 구성하기 앱 외부에서부터 ..
-
[iOS] UIApplication 이란?iOS/🤖 App 2021. 1. 28. 22:04
안녕하세요🐶 이번 시간에는 `UIApplication` 클래스에 대해서 알아보겠습니다. 이 클래스가 언제 등장하는 지는 이전 글을 읽고 오시면 좋을 것 같아요!!! " iOS 앱의 제어와 조정의 구심점 " class UIApplication : UIResponder 개요 모든 iOS 앱은 정확히 단 하나의 UIApplication 인스턴스를 가지고 있습니다. 아주 드문경우, UIApplication를 서브클래싱한 인스턴스를 사용한다고 합니다. 앱이 실행되면, 시스템은 UIApplicationMain(_:_:_:_:) 를 호출합니다. :: 이전 글에 나온 내용이지만, 보통 AppDelegate.main() 의 실행으로 호출됩니다. 해당 메서드의 작업 중 하나는 UIApplication 오브젝트를 만드는 것..
-
[iOS] Responding to the Launch of Your App (공식문서 정리)iOS/🤖 App 2021. 1. 28. 12:05
1차 수정: 2021/06/16 안녕하세요🐶 이번 시간에는 'Responding to the Launch of Your App', 즉 앱 시작시 발생하는 일들에 대응하는 내용을 담은 공식문서를 정리해보려고 합니다. 이전 글을 먼저 읽고 보시는 것도 좋을 것 같아요😉 "앱의 자료 구조를 초기화하고, 앱을 실행시키기위해 준비하고, launch-time 에 오는 시스템 요청들에 대응합니다." 간략한 개요 사용자가 홈 화면의 앱 아이콘을 탭할 때, 시스템은 우리의 앱을 시작시킵니다. 만약 앱이 특정한 이벤트를 요청했다면, 시스템은 마찬가지로 그 이벤트를 처리하기 위해 `background`에서 앱을 시작시킵니다. :: Scene-based 앱에서, 시스템은 위와 비슷하게 앱을 시작합니다. :: 화면 상에 나타날..
-
Adopting a Protocol Using a Synthesized Implementation - ProtocolsiOS/🟠 Swift 2021. 1. 27. 23:40
스위프트는 여러 간단한 클래스들에게 자동적으로 `Equatable`, `Hashable` 그리고 `Comparable` 프로토콜 순응(conformance) 을 제공합니다. `conform to protocol`을 하기 위한 구현이 자동으로 제공된다는 의미입니다. 여러 간단한 클래스: Numbers, String 등이 있습니다. +) Numbers. String 은 Foundation Framework 의 primitive type 입니다. 이 통합된 구현을 사용한다는 것은 프로토콜 채택을 위한 별도의 반복적인 상용코드(boilerplate) 구현이 필요 없다는 것을 의미합니다. 통합된 구현 : synthesized implementation 프로토콜의 선언과 구현이 모두 되어있어서 채택하려는 타입에 선..
-
[iOS] Managing Your App's Life Cycle (공식문서 정리)iOS/🤖 App 2021. 1. 26. 21:17
1차 수정: 2021/06/16 안녕하세요🐶 이번 시간에는 'Managing Your App's Life Cycle', 즉 앱의 생명주기를 다룬 공식문서를 정리해보려고 합니다. 앱의 생명주기를 관리하는 것은 앱의 상태에 따라 발생하는 `system notification` 에 응답하고, 다른 중요한 시스템 관련 이벤트들을 처리하는 것이라고 볼 수 있습니다. 앱의 상태 앱은 현재 상태(state) 에 따라 할 수 있는 동작들이 정해져있습니다. 예를 들어 `foreground` 상태의 앱은 사용자의 주의를 끌고 있으므로, CPU를 포함한 시스템 자원에 대한 우선권을 가지고 있습니다. 반대로 `background`상태인 앱은 작업을 아예 하지 않거나, 가능한 적게 해야 합니다. :: 화면에서 보이지 않는 상태..
-
App and Environment - UIKitiOS/🍎 Documentation 2021. 1. 26. 20:42
Life-cycle 이벤트와 앱의 씬들을 관리하고, 우리의 앱을 실행하는 `traits` 와 환경에 대한 정보를 얻을 수 있습니다. Overview iOS 13 과 그 이후 버전에서, 사용자는 우리의 앱의 UI 인스턴스를 동시에 다수 생성하고 관리할 수 있습니다. 그리고 `App switcher` 를 사용하여 인스턴스를 교체할 수 있습니다. 아이패드에서, 사용자는 양 옆에 우리의 앱의 인스턴스를 화면에 여러 개 띄울 수 있습니다. 각각의 인스턴스에서 UI 인스턴스는 다른 콘텐츠를 보여주거나, 같은 콘텐츠를 다른 방식으로 보여줄 수 있습니다. 예를 들어 사용자는 특정 날짜를 보여주는 Calendar 앱의 인스턴스와, 한 달 전체를 보여주는 앱의 인스턴스를 화면에 띄울 수 있습니다. UIKit 프레임워크는 ..
-
[Swift] DelegationiOS/🟠 Swift 2021. 1. 26. 09:35
Delegation 은 `class` 나 `struct` 가 자신의 책임 중 일부를 다른 타입의 인스턴스에게 위임 (hand-off or delegate) 하는 디자인 패턴입니다. 이 디자인 패턴은 위임된 책임을 캡슐화하는 프로토콜을 정의하는 것으로 구현할 수 있습니다. 그 결과로 프로토콜을 채택한 타입 ( 이 타입을 delegate 라고 부릅니다 ) 은 위임받은 기능들의 제공을 보장합니다. 즉, 위임한 타입 (delegating objcet) 의 기능을 위임받은 타입 (delegate) 이 제공합니다. Delegation은 다음과 같은 상황에 사용합니다: 1. 특정 action에 대한 반응을 하기 위해 사용되거나, 보통 ~Delegate 라는 이름을 가진 프로토콜입니다. 2. 소스의 타입을 알 필요없이..