2

示例 #1

@property (nonatomic, copy) void (^errorBlock) (NSError *);

示例 #2

@property (nonatomic, strong) void (^errorBlock) (NSError *);

我知道块是堆栈上的标准变量,通过复制我们将它们“移动”到堆中。

就这样?或不?

4

1 回答 1

1

应该没有区别。由于该属性具有块类型,因此根据http://clang.llvm.org/docs/AutomaticReferenceCounting.html#blocks

除了作为初始化 __strong 参数变量或读取 __weak 变量的一部分完成的保留之外,每当这些语义要求保留块指针类型的值时,它都具有 Block_copy 的效果。

于 2013-05-07T22:09:22.537 回答