【发布时间】:2012-05-12 04:04:08
【问题描述】:
假设
typedef void (^MyResponseHandler) (NSError *error);
@property (strong, nonatomic) MyResponseHandler ivarResponseHandler;
synthesize ivarResponseHandler = _ivarResponseHandler;
- (void)myMethod:(MyResponseHandler)responseHandler
{
self.ivarResponseHandler = responseHandler;
...
}
通过@property 分配给ivar 是否正确?我知道在手动内存管理中,您需要self.ivarResponseHandler = [responseHandler copy]; 来确保将块从堆栈复制到堆。但是观看 WWDC 2011 的 Session 322 - Objective-C Advancements in Depth(第 25 分钟),演讲者说 ARC 会自动处理将块分配给 ivar。我只是想确定一下。
【问题讨论】:
标签: objective-c properties automatic-ref-counting objective-c-blocks