weak を禁止したい場合 - Automatic Reference Counting

SPECIAL


weak を禁止したい場合

どういった場面で必要になるかは分かりませんけど、実装したクラスを __weak 制御レベルでは利用させたくない場合には、@interface の前に "__attribute__((__weak_objc_arc_weak_unavailable))" を指定します。

 

Xcode の場合には "NS_AUTOMATED_REFCOUNT_WEAK_UNAVAILABLE" が使用できるようになっているので、次のようにしてプログラミングを行います。

// クラスを ARC の __weak 制御レベルの変数に格納することを禁止する

NS_AUTOMATED_REFCOUNT_WEAK_UNAVAILABLE

@interface aClass : NSObject

{

 

}

 

このようにすることで、上記で定義したクラスは、__weak で宣言された変数に格納することができなくなります。

[ Automatic Reference Counting 目次へ ]