2017-05-19 83 views
0

我被ARC编译器收到以下警告为什么会有警告?我可以忽略它吗?

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

这是我的代码:

[self performSelector:config.selector];

为什么我得到这个警告吗?我知道编译器不能检查选择器是否存在,但为什么会导致泄漏?我怎样才能更改我的代码,以便我不再收到此警告?

+0

请在发布之前对错误进行搜索。 – rmaddy

+0

@rmaddy是正确的;这是一个愚蠢的http://stackoverflow.com/questions/7017281/performselector-may-cause-a-leak-because-its-selector-is-unknown – bbum

+0

@bbum如果这是一个骗局,你为什么重新打开? – rmaddy

回答

0

由于@rmaddy指出,这是performSelector may cause a leak because its selector is unknown


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

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

I.e.而不是config.selector,去config.handlerBlock(...)

这样,你就可以在整个过程中保持完整的类型安全,没有任何东西可以使用ARC,也没有#pragma dance可以暂时禁用警告或任何其他的东西。

相关问题