2

nibファイルはシリアル化されたオブジェクトであり、接続を行うための所有者、アウトレットがあることを私は知っています。XCode ナビゲーション ウィンドウ テンプレートを使用してアプリケーションを作成しました。このアプリケーションは、MainWindow と SecondView の 2 つの nib ファイルを順番に作成しました。MainWindow が SecondView をどのように参照しているのか理解できません。私が見る限り、これら 2 つの間に関係はありません。SecondView の所有者は UIViewController であり、MainWindow には UIViewController でもあるナビゲーション タブがあります。しかし、それらがIBでどのように接続されているのか理解できません...

また、誰が MainWindow の所有者オブジェクトをインスタンス化しているのか、そのオブジェクトがどこに保持されているのか、変数はどこにあるのかわかりません UIApplication myApp = [[UIApplication alloc] init]

これは自己回答です。UIApplicationMainインスタンス変数を使用するには、どこかにアウトレットを作成する必要があります。

UIViewController 所有者で 10 個の nib ファイルを作成した場合、誰がその逆シリアル化をトリガーしますか?

あるクラスがnibファイルの所有者である場合、そのクラスの本質的な責任は何ですか? nibファイルをメモリにデシリアライズしていますか?

まとまりのない質問で申し訳ありません。nib ファイルに関する記事やドキュメントを数多く読んでいますが、まだ混乱しています。

4

2 に答える 2

1

MainWindow.xibは、アプリの起動時に読み込まれます。

MainWindow.xibを開きます。リストビューにいることを確認してください。UINavigationControllerのインスタンスが表示されます。その中に、 UIViewControllerのインスタンスが表示されます。View Controllerインスタンスを選択し、インスペクターパネルを確認します。「RootViewController」に設定されたプロパティ「NibName」があることがわかります。したがって、viewControllerは、実行時に「RootViewController」nibを検索してロードします。

したがって、10個のペン先を作成する場合は逆シリアル化を担当しますが、Interface Builderには、ビューを個々のペン先ファイルにパッケージ化することで、ペン先を小さく管理しやすくする方法があります。

于 2010-06-10T13:30:00.680 に答える
0

あなたのすべての質問を正しく理解しているかどうかはわかりません。ただし、アプリケーションが読み込まれると、MainWindown (プライマリ ウィンドウ) nib が読み込まれます。これは、プロジェクトの info.plist から確認できます。そこにプライマリnibファイルの名前があります。アプリケーションのロード中にプライマリ nib がロードされるため、オブジェクトの所有者はアプリケーションのインスタンスになります。

于 2010-06-10T11:00:21.213 に答える