インタフェースビルダーでラベルやテキストをIBOutletsとして作成しました。私はストーリーボードで定義した別のビューから、このスクリーンを完全に見ることができます。 しかし、別のXIBとそのビューにアクセスしたい関連するUIViewControllerがあります。私のXIBはストーリーボードにはないので、私はそれにセグをすることはできません。代わりにプログラムでトランジションを実行する必要があります。iOS - Interface Builderアウトレットが初期化されていません
PlantDetailViewController *plantDetailVC = [[PlantDetailViewController alloc] init];
[self.currentNavigationController pushViewController:plantDetailVC animated:YES];
このコードを実行すると、ビューに遷移しますが、ビューは空白になります。私はコードをデバッグし、それはviewDidLoadとviewWillAppearを入力しますが、私のIBOutletsはすべてNILです....スクリーン上に何も表示されません!
NILの理由と初期化方法を教えてもらえますか?
おかげ
ブライアン
感謝を。しかし、私はロードしようとしているビューのNIBを持っていません。ビューはストーリーボードに定義されており、ストーリーボードにはNIBファイルがないことがわかっています。もし私が間違っていれば、私にコアキャットしてください。 –
'UIViewController'の' init'メソッドを呼び出すことは、 'initWithNibName:nil bundle:nil'を呼び出すことと同じです。ビューコントローラのクラスと同じ名前(または最後に 'Controller'という単語がない同じ名前)のペン先がある場合、ビューコントローラはそのペン先を' loadView'にロードします。 –