私がやっていることはこれです:
UIViewController *rootController = [[[UIApplication sharedApplication] keyWindow] rootViewController];
AlarmRingViewController *alarmController = [[AlarmRingViewController alloc] init];
[rootController presentViewController:alarmController animated:YES];
これで達成したいのは、現在表示されている他のコントローラーの上に私のAlarmRingViewControllerをプッシュすることであり、これまでのところ機能しています。
これが良い習慣であるかどうか疑問に思っています:
- 提示する必要があるたびに新しいviewControllerを開始する
- 非UI関連のクラスでそうしますか? (私の場合は NSTimer のスケジューラ)
- そこから、rootViewController を上にして、新しく作成された viewController をプッシュします。
それとも、これは MVC パターンや Apple のガイドラインなどに違反していますか? 乾杯