ARC の下で次のコードを想定します。
typedef void (^MyResponseHandler) (NSError *error);
@interface MyClass : NSObject
{
MyResponseHandler _ivarResponseHandler;
}
- (void)myMethod:(MyResponseHandler)responseHandler
{
_ivarResponseHandler = responseHandler;
...
}
質問: ivar に割り当てられると、ブロックは自動的にヒープにコピーされますか?
私の以前の質問は、 を介して割り当てられたときにコピーされることを暗示していました@property
。しかし、今日、私は上記のコードを使用し、にEXC_BAD_ACCESS
変更することで修正されたを受け取りました
_ivarResponseHandler = [responseHandler copy]
.