나는 UITabBarController가 맨 위에 있고, UINavigationControllers가 그 아래에 있고, UIView 컨트롤러가 그 아래에 있고, 어딘가에 좋은 측정을 위해 던져진 모달 컨트롤러가있는 스크린이 많은 큰 앱이있다.iPhone 앱이 특정 화면으로 시작하도록하려면 어떻게합니까?
사용자는 목록에서 시작 화면을 선택할 수 있습니다. 일단 선택되면 다음에 앱을 시작하면 지정된 화면에서 시작되며 모든 탐색은 마치 탐색 한 것처럼 작동합니다.
UITabBarController 및 UINavigationController를 하위 클래스로 만들 수 없으므로 초기 탐색 정보를 설정하기 위해 ivars를 추가 할 수 없습니다.
그래서 이러한 조건에서 계층 구조를 설정하고 올바른보기 컨트롤러의 화면을 표시하고 신속하게 수행하는 가장 좋은 방법은 무엇입니까?
재미있는 제안이지만 문제가있을 것이라고 생각합니다. 필요한 전체 컨트롤러의 상태 만 저장하거나 복원 할 필요가 없습니다. 내가 이것을했다면 그것은 전망을 또한 보존 할 것인가? –
NSCoder를 구현하면 필요한 것을 작성하고 필요한 것을 다시 초기화 할 수 있습니다. 이는 앱 자체의 상태가 아닌보기 상태를 빠르게 저장하는 방법입니다.NSUserDefaults 등을 100 번 호출하지 않고도 안전하고 안정적으로 View Controller 등을 다시로드 할 수있는 방법을 제공합니다. – coneybeare
하나의 질문에 coney - 이유는 내가 그것을 내 대답에 나열된 방식으로 사용자가 그것을 통해 진행되는 동안 응용 프로그램의 상태를 저장할 수 있기 때문에 (navigationController 구현하는 네비게이션 컨트롤러에 대한 대리자 설정 : willShowViewController : 애니메이션 또는 didShow). 당신의 접근 방식으로, applicationWillTerminate에 어떤 위험이 있어도 호출되지 않거나 끝나지 않을 것입니까? – bpapa