代理
用retain修饰
当你创建的时候你alloc retainCount + 1
当你push的时候你 retainCount + 1 ——>>>>2
我们release的时候 -1 —>1
当我们设置代理的时候delegate = self returnCount + 1 ———>>>>2
当我们pop的时候returnCount -1 —>>1 这就造成了内存泄露
所以我们要用assign修饰
block(在非arc arc里面用__weak)
使用block在声明属性的时候你得用copy
使用__block修饰的外部局部变量可以在block的实现部分改值
使用__block修饰的外部局部变量可以在block的实现部分block本身的blockRetainCount不会加1
用retain修饰
当你创建的时候你alloc retainCount + 1
当你push的时候你 retainCount + 1 ——>>>>2
我们release的时候 -1 —>1
当我们设置代理的时候delegate = self returnCount + 1 ———>>>>2
当我们pop的时候returnCount -1 —>>1 这就造成了内存泄露
所以我们要用assign修饰
block(在非arc arc里面用__weak)
使用block在声明属性的时候你得用copy
使用__block修饰的外部局部变量可以在block的实现部分改值
使用__block修饰的外部局部变量可以在block的实现部分block本身的blockRetainCount不会加1