example : 메모 앱
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var memoList: [MemoData]()
...
}
memoList 변수를 AppDelegate 에 저장하는 이유
AppDelegate 클래스는 앱 전체의 라이프 사이클을 관리하는 앱 델리게이트 역할을 하기때문에, 반드시 하나의 인스턴스만 존재한다. 또한 앱 델리게이트 객체는 앱 자체의 생명주기를 함께 하기에 중간에 소멸되지 않는다.
UIApplication 객체는 사용자가 직접 인스턴스를 생성할 수 없으며 UIApplication.shared 타입 프로퍼티를 통해 참조할 수 있다.
UIApplication.shared.delegate
꼼꼼한 재은 씨의 Swift 실전편