为什么会有警告? 我可以忽略它吗?
ARC编译器收到以下警告
由于其选择器未知,performSelector可能会导致泄漏
这是我的代码:
[self performSelector:config.selector];
为什么我会收到此警告? 我知道编译器不能检查选择器是否存在,但为什么会导致泄漏? 我怎样才能更改我的代码,以便我不再收到此警告?
正如@rmaddy指出的,这是performSelector的重复可能导致泄漏,因为它的选择器是未知的
有比抑制警告或玩其他游戏更好的解决方案。
而不是使用SEL
,而是使用回调块。
即,而不是config.selector
,去config.handlerBlock(...)
。
这样一来,整个安全类型都是安全的,没有任何方法可以使用ARC,并且没有#pragma舞蹈可以暂时禁用警告或任何其他内容。
链接地址: http://www.djcxy.com/p/19951.html上一篇: Why is there a warning? Can I ignore it?
下一篇: "performSelector may cause a leak" alternative when it DOES leak?