在Xcode9.3后block里面出现如上所属的,有关于内存循环的警告。上述警告应该是对于block内部引用时避免循环引用
的警告。
解决方案: 我看见网上很多关于这种方案的解决方法,先叙述我觉得正确的方案。
因为为避免block循环引用
,则可在block之前使用
__weak typeof(self) weakSelf=self;
然后将警告的短横线用weakself代替。
网上方案:(我觉得不可采取)
1.听从xcode的建议将 _tableview变为 self->
,即指向对象地址,我反正很不喜欢这种写法。放弃!
2.将build setting
里的CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF
设置为No
。 这种方法就更加不好了,抑制Xcode的警告只是治标不治本,指不定哪天出问题呢。
总结:还是用本办法吧,拒绝block循环引用,那么就用__weak
,没毛病!
网友评论