次のように、にリンクされたストーリーボードファイル内のオブジェクトがある状況を考えてみIBOutlet
ます。
@property (nonatomic, strong) IBOutlet UIImageView *imageView;
独自のデバイスにViewController
任せると、Interface Builderで決定されたように、正しいフレーム内に正しい画像が読み込まれ、表示されます。ただし、次のコードをView ControllerのviewDidLoad
メソッドに追加すると、(明らかに)同じ結果が得られます。
- (void)viewDidLoad {
_imageView = [[UIImageView alloc] init];
//...
}
これは、のプログラムによる割り当ての初期化IBOutlets
が完全にオプションであることを意味しますか?それとも、この行を追加すると、わずかに異なる結果が得られますか?
実装にalloc-initを常に追加していたので、質問しています。その後、最新のプロジェクトでそれを忘れてしまいました。驚いたことに、それでも意図したとおりに機能しました。