Objective-C のブロックに関する私の質問: 次の状況を想定します (ARC が有効になっている場合):
typedef NSString*(^MyBlockType)();
typedef NSString*(^MyReturnBlockType)(MyBlockType);
- (MyReturnBlockType) foo: (MyBlockType) block
{
return ^NSString*(MyBlockType someBlock) {
return someBlock();
};
}
blockメソッドが受け取るパラメーターは、メソッドfoo:が返すブロック内で使用されます。しかし、誰が強い参照を保持していblockますか? foo:ブロックを返す前にブロックをコピーする必要がありますMyReturnBlockTypeか? 任意の洞察をいただければ幸いです。