Block作为成员变量时@property的参数使用哪个?

正确的是:应使用Copy。

block如果用到了self,就会retain self ,如果是strong的话,就造成了循环引用。
当然,使用retain也可以,但是block的retain行为默认是用copy的行为实现的,因为block变量默认是声明为栈变量的,为了能够在block的声明域外使用,所以要把block拷贝(copy)到堆,所以说为了block属性声明和实际的操作一致,最好声明为copy。

你可能感兴趣的