先来说下为什么会产生循环引用。
self.Block=^{
self.get(self.data);
}
对象中有一个Block属性,但在这个Block属性中又引用的对象的其他成员变量,那么就会对这个成员变量本身产生强引用,就造成你引用我,我也引用你,retain计数一直+1,就成了循环引用了。在ARC下改成
__weak typeof(self) *weakself = self;
self.Block=^{
weakself
.get
(weak self.data);
}
非ARC下
__block UIViewController *weakself = self;
self.Block=^{
weakself
.get
(weak self.data);
}