2016-03-20 3 views
1

まず、MacOSXアプリケーション用のObjective-Cで書かれたXcodeプロジェクト用です。Xcode 7 warning loadNibNamed:所有者は廃止されました:OS X 10.8では非推奨となりました

私は警告を取得していますが、「loadNibNamed:所有者が廃止されました:最初のOS X 10.8では非推奨と」次の行のために:

[NSBundle loadNibNamed:@"StartMyDialog" owner:self];

は、しかし、まだ今のところ正常に動作するようです。

[[NSBundle mainBundle] loadNibNamed:@"StartMyDialog" owner:self topLevelObjects:nil];

これは警告を削除しますが、私は私のプロジェクトを実行したときにペン先のビューがnibファイルを持っていることを示している前述のラインがTRUEを返すにもかかわらず、表示されません。いくつかのグーグルでの後、私は、次の解決策を見つけました正常に読み込まれました。それを表示させるために何か必要なことはありますか?ありがとう。

答えて

1

NSBundleドキュメントから:従来の方法とは異なり

議論

、オブジェクトは、標準的なココアのメモリ管理規則に従います。ペン先の内容の割り当てが解除されるのを防ぐために、IBOutletを使用するか、配列への参照を保持することによって、それらを強力に参照する必要があります。

トップレベルオブジェクトへのアウトレットは、所有権を実証し、解放を防止するための強力な参照である必要があります。

つまり、あなたのトップレベルはそうのような強力なオブジェクトを作成する必要があります。

@property (nonatomic, strong) IBOutlet NSWindow *window; 
関連する問題