2017-05-19 80 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可以暫時禁用警告或任何其他的東西。

相關問題