0
誰かが私に次のコード行と好みの違いの正確な違いを教えてもらえますか?iOSでRootViewControllerを探す最良の方法は何ですか
UIViewController *viewController = [UIApplication sharedApplication].keyWindow.rootViewController;
UIViewController *viewController1 = [[[UIApplication sharedApplication].delegate window] rootViewController];
UIViewController *viewController2 = [[[[UIApplication sharedApplication] windows] lastObject] rootViewController];
UIViewController *viewController3 = [[[[UIApplication sharedApplication] windows] firstObject] rootViewController];
id viewController4 = [[[[[UIApplication sharedApplication] keyWindow] subviews] objectAtIndex:0] nextResponder];
私はNSObject
クラスからUIAlertController
を示さなければならないと。
コントローラから警告を生成するために、代理人、ブロック、最悪の場合はNotificationCenterを使用してください。 – SeanLintern88
['XY'](https://meta.stackexchange.com/questions/66377/)の臭いがあります。何が問題なのか)問題はここにあります。非UIコンポーネント経由でアラートを表示する場合は、デザインに間違いがあります。あなた自身の利益のためにできるだけ[MVC](https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-CocoaCore/MVC.html)パターンに固執する必要があります。 – ozgur
@OzgurVatansever、お返事ありがとうございます。実際、私はViewControllerクラスを含まないライブラリに取り組んでいます。誰か(顧客)が私の図書館からメソッドを呼び出すとき、何かが間違っていたら、エラーメッセージを顧客に返すのではなく、警告を表示する必要があります。そのために、私はViewController(ルート)を顧客のアプリケーションからアラートを表示させたいと思っています。私が間違っているなら助言してください。 –