为什么会有警告?我可以忽略它吗?

时间:2017-05-19 03:29:08

标签: objective-c

我收到ARC编译器的以下警告

  

performSelector可能导致泄漏,因为它的选择器未知

这是我的代码:

[self performSelector:config.selector];

为什么我会收到此警告?我理解编译器无法检查选择器是否存在,但为什么会导致泄漏?如何更改我的代码,以便我不再收到此警告?

1 个答案:

答案 0 :(得分:0)

正如@rmaddy所指出的,这是performSelector may cause a leak because its selector is unknown

的副本

有一个比抑制警告或玩其他游戏更好的解决方案。

而不是使用SEL,而是使用回调块。

即。而不是config.selector,请转到config.handlerBlock(...)

这样,你就可以全面保持类型安全,不会妨碍使用ARC,也没有#pragma dance可以暂时禁用警告或任何事情。