2012-04-25 8 views
0

私は、次の初期化子がありますオブジェクトのプロパティとしてブロックを保持するポリシーは何ですか?

- (id) initWithBlock:(void(^)void) block; 

と私はそれが後で実行できるように、プロパティにブロックを割り当てる初期化子内を。

typedef void(^block)(void); 
@interface myClass() 
@property (X, nonatomic) block theBlock; 
@end 

Xはどのような理由がありますか? (ARCを使用)

+0

私はこの[質問](http://stackoverflow.com/questions/3935574/can-i-use-objective-c-blocks-as-properties)の外観を撮影してきました。私は100%は確かではありませんが、おそらく 'コピー'が最良のアプローチです。 –

+0

ARCでは 'copy'と' strong'は間違いなく*同等*ではありません。 –

答えて

0

コピーを使用する必要があります。コピーされていないブロックがスタックに存在します。スタック上に何かを保持することは意味がない。

関連する問題