示例 #1
@property (nonatomic, copy) void (^errorBlock) (NSError *);
示例 #2
@property (nonatomic, strong) void (^errorBlock) (NSError *);
我知道块是堆栈上的标准变量,通过复制我们将它们“移动”到堆中。
就这样?或不?
示例 #1
@property (nonatomic, copy) void (^errorBlock) (NSError *);
示例 #2
@property (nonatomic, strong) void (^errorBlock) (NSError *);
我知道块是堆栈上的标准变量,通过复制我们将它们“移动”到堆中。
就这样?或不?
应该没有区别。由于该属性具有块类型,因此根据http://clang.llvm.org/docs/AutomaticReferenceCounting.html#blocks
除了作为初始化 __strong 参数变量或读取 __weak 变量的一部分完成的保留之外,每当这些语义要求保留块指针类型的值时,它都具有 Block_copy 的效果。