新しい Xcode プロジェクトを作成すると、ストーリーボード ( Main.storyboard ) が「メイン インターフェイス」になるように指定されます。これは、ターゲットの「一般」設定タブで確認できます。そのストーリーボードには、View Controller の左側にある矢印である Storyboard Entry Point があります。これは、ビュー コントローラー (デフォルトでは class ViewController
) がルート ビュー コントローラーになることを示します。「メイン インターフェイス」設定を削除すると (空になるように)、ルート ビュー コントローラーは自動的に作成されません。手動で設定する必要があります。
ReactNative で利用できる例を見てみましょう。一般的なアプローチは、application: didFinishLaunchingWithOptions:
aUIWindow
がインスタンス化され、その後にプレーンが続くというものであることがわかりますUIViewController
。その前後のある時点で、RCTRootView
がインスタンス化されます (RCTBridge
またはBundleURL: moduleName:...
初期化子を使用して)。これは のサブクラスなUIView
ので、UIViewController
まだ はありません。したがって、それは前述の plain のビューとして設定され、それが のとしてUIViewController
設定され、「キーと可視化」されて準備が整います。rootViewController
UIWindow
ReactNative を使ってまだ 2 日しか経っていませんが、上記のパターンを繰り返し見ていると、今日、 のメソッドでRCTRootViewController
を渡し、それをカプセル化するためにのようなものを構築していることに気が付きました。ビュー コントローラは、.RCTRootView
loadView
UIViewController
RCTRootView