私はコア Bluetooth フレームワークを使用しています。このアプリでは、複数の Bluetooth デバイスを iPhone に接続する必要があり、Bluetooth デバイスが範囲外になるとアラートが表示されます。
このアラートの代わりに、UIViewController を表示したいと思います。Alert のすべてのコーディングは、NSObject クラスで処理されます。
AlertViewの代わりに表示したい画面は次のとおりです
私はコア Bluetooth フレームワークを使用しています。このアプリでは、複数の Bluetooth デバイスを iPhone に接続する必要があり、Bluetooth デバイスが範囲外になるとアラートが表示されます。
このアラートの代わりに、UIViewController を表示したいと思います。Alert のすべてのコーディングは、NSObject クラスで処理されます。
AlertViewの代わりに表示したい画面は次のとおりです
あなたの質問を正しく理解した場合、NSObject サブクラスのオブジェクトでアクティブな UIViewController への参照が必要です。そのため、現在 AlertView を処理している NSObject をインスタンス化すると、アクティブな UIViewController への参照が送信されます。アクティブな UIViewController からインスタンス化する場合は、次のようになります。
NSObjectSubclass *alertViewHandler = [[NSObjectSubclass alloc] init];
[alertViewHandler setActiveViewController:self];
その後、アラートを表示する代わりに、alertViewHandler でこれを行うことができます。
[activeViewController presentViewController:viewControllerToPresent animated:YES completion:nil];
あなたの問題にはさらに多くの異なる解決策がありますが、情報が限られているため、どれがあなたに最も適しているかを推測することしかできません.
同様に、すべての問題には解決策があります。これを念頭に置いて、私は試してみて解決策を得ました
NSObject から UiViewController を表示するには - AppDelegate には独自の UIViewController があり、UIViewController でその風のオーバーライドを使用するため、App Delegate クラスからの参照を使用します。
上記の場合、ビューを NSObject から呼び出す必要があったため、すべての機能が ViewController 内で動作するため、pushViewController または PresentViewController を使用することはできません。