self.finishBlock = ^{ self.image.hIDden = YES;}
如果您直接访问图像,这是否适用?
self.finishBlock = ^{ _image.hIDden = YES;}解决方法 块需要保留块中的任何捕获对象.你的第一个例子是:
self.finishBlock = ^{ [[self image] setHIDden:YES];}
该块必须保留self,以便正确调用image方法.如所写的,块不能简单地保留图像,因为直到执行块并且调用图像方法才获得图像.所以这里唯一的选择就是保持自我.
在第二个区块你真的有:
self.finishBlock = ^{ self->_image.hIDden = YES;}
所以,必须保留self,以便在实际执行块时访问_image ivar的正确值.
总结以上是内存溢出为你收集整理的iphone – 为什么自我保留在访问其中一个属性的块中?全部内容,希望文章能够帮你解决iphone – 为什么自我保留在访问其中一个属性的块中?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)