iOS 애플리케이션으로 소프트웨어 재설정
RootViewController
가장 먼저 시작하는 ViewController입니다.점검은 Main Interface가 설정한 Storyboard에서 Is Initial View Controller에 포함됩니다.
PS에 prefix가 있으니 무시하세요.또한 기본값은 Main Interface의 Main입니다.storyboard에는 RootViewController가 있을 수 있습니다.
첫 번째 화면 표시
외관도 좋아질 수 있음을 감안하여 RootViewController는 LaunchScreen이라고 표시했다.storyboard의 배치와 같습니다.
viewDidApper나 DB에서 데이터를 읽거나 비동기적으로 초기화 처리가 끝난 후, 메인 라인에 가장 먼저 표시할 화면을 표시하는 ViewController를 표시합니다.
RootViewController
let firstViewController = 最初に表示するControllerを生成
con.modalTransitionStyle = .crossDissolve
self.present(firstViewController, animated: true, completion: nil)
이때crossDissolve로 표시하면 사용자는 튀는 화면에서 교차하여 담입하여 최초의 화면을 표시한다.RootViewController의 표시를 중간에 알아채지 못했습니다.소프트웨어 재설정
RootViewController에서present의ViewController에서 화면을 이동합니다. 심층에서도 RootViewController에서dismiss만 있으면 RootViewController로 돌아갈 수 있습니다.소프트웨어 재설정입니다.
화면 깊이의 차원에서 RootViewController의 구조를 참조해도 되지만, 스스로 Notification을 사용합니다.
RootViewController
deinit {
NotificationCenter.default.removeObserver(self)
}
func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(handleSoftwareResetNotification(_:)), name: MySortwareNotiifcation, object: nil)
}
func handleSoftwareResetNotification(_ notification: Notification) {
// RootViewControllerがpresentしたfirstViewControllerがdismissされる
dismiss(animated: true) {
// 必要な初期化処理をした後、ふたたび、firstViewControllerをpresentすればいい
}
}
My Software Reset Notification은 당연히 응용 프로그램만의 것으로 사전에 어딘가에 발표된다.let MySoftwareRestartNotification = Notification.Name("MySoftwareRestartNotification")
재설정하려는 시간에 이 Notification을 보내면 Han d l e SotwreResetNotification이라고 합니다.func softwareReset() {
let notification = Notification(name: MySoftwareRestartNotification)
NotificationCenter.default.post(notification)
}
이렇게 되면 사용자는 스파크 화면(실제로는 RootViewController)으로 돌아가 초기화 처리가 끝난 후에 다시 최초의 화면을 표시할 것이다.만약 RootViewController를 사용하여 비동기적인 시간을 필요로 하는 처리를 한다면, 스파크 화면의 레이아웃 외에 읽기 중인 디스플레이와 진도표도 괜찮다.
Reference
이 문제에 관하여(iOS 애플리케이션으로 소프트웨어 재설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/roba4coding/items/2a535df156bb294a6343텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)