2011-01-23 32 views
0

私はドキュメントベースのCocoaアプリケーションを持っています。実行時に、[NSBundle loadNibNamed:@"inspectorNIB" owner:self]selfNSDocument)を呼び出して、バンドルから追加のペン先をロードします。奇妙なloadNibNamed動作

奇妙なことに、バンドルのロード中に成功すると、NSDocumentawakeFromNibメソッドが再度呼び出され、不要な2番目の初期化が行われます。これは予想される動作ですか?どうすればそれを抑えることができますか?

答えて

3

はい、-awakeFromNibは、オブジェクトがペン先で参照されている場合にロードされる各ペン先に呼び出されます。設定を2回行うことを避けたい場合は、インスタンス変数を設定してチェックをしてください。

if (!alreadyDidNibLoadStuff) { 
    // do nib load stuff 
    alreadyDidNibLoadStuff = YES; 
}