ここで読んでいるように、ほとんどの場合、aIBOutlet
は弱いはずです。
開発ライブラリで読むことができるように、すべてのクラスが弱参照をサポートしているわけではありません。(例:NSTextView)。これは、assignを使用する必要があることを意味します。
@property (assign) IBOutlet NSTextView *textView;
弱参照を使用すると、次のエラーが発生します。「__ weakオブジェクトのivarの合成が必要なため、weak-unavailableプロパティの合成は許可されていません」
dealloc
ドキュメントで言及されていなかったのは、たとえばメソッドによって使用された後、プロパティを再びnilに設定する必要があるということです。
- (void)dealloc
{
self.textView = nil;
}
マークされたクラスが弱参照をサポートしていないことを理解している限り、NS_AUTOMATED_REFCOUNT_WEAK_UNAVAILABLE
その理由は何ですか?