最近、ブロックの次のプロパティ宣言を示すApple ドキュメントに出くわしました。
@interface XYZObject : NSObject
@property (copy) void (^blockProperty)(void);
@end
また、この記事では次のように述べています。
注: 元のスコープ外でキャプチャされた状態を追跡するには、ブロックをコピーする必要があるため、プロパティ属性として copy を指定する必要があります。これは自動的に行われるため、自動参照カウントを使用する際に心配する必要はありませんが、結果の動作をプロパティ属性で表示することをお勧めします。詳細については、ブロック プログラミングのトピックを参照してください。
提案されたBlocks Programming Topicsも読みましたが、そこに関連するものは見つかりませんでした。
ブロック プロパティを「コピー」として定義することがベスト プラクティスである理由については、まだ興味があります。良い答えがあれば、ARC と MRC の違いがあれば区別してみてください。
ありがとうございました