要注意的是,只有在self强引用block的时候才会有这样的问题。一般使用GCD或NSOperation时使用的内联block是不会出现循环引用的。在[weakSelf doSomething]和[weakSelf doSomething2]之间,self可能会被释放掉。这可能会导致奇怪的问题。这样,block既没有持有self,又能保证block在执行过程中self不被释放,真正达到了最初的目标。

Objective-C中block循环引用问题详解

Objective-C中block循环引用问题详解