7

新しいView Controllerを作成すると、次のメッセージが表示されました。すべてがエラーなしで Xcode で正常にコンパイルされましたが、アプリは RootViewController から新しいビューをロードするとすぐに終了しました。

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "HomeView" nib but the view outlet was not set.'

これを解決するために、ファイルの所有者をビューに接続しようとしましたが、ファイルの所有者はビュー アウトレットを利用することさえできませんでした。

4

1 に答える 1

18

@Tim Post の提案に従って、質問セクションから移動しました。

発見:

この View XIB を追加したときに、ファイルの所有者が HomeViewController (新しく作成したビュー コントローラー) ではなく NSObject に設定されていたことに最終的に気付きました。インデンティ インスペクターでクラス ID を設定すると、ビュー アウトレットをビューに接続する準備が整いました。

アプリが読み込まれるようになり、新しいビューが完全に読み込まれます。SOコミュニティの利益のために共有するだけです。

結論:

新しい View XIB を作成するときは、inidentity インスペクター (Cmd+4) でクラス ID を目的のビュー コントローラーに設定してください。デフォルトで NSObject に設定されている場合があります。

その後、ビュー アウトレットが使用可能になります。

于 2011-03-08T01:32:50.000 に答える