0
我被ARC編譯器收到以下警告爲什麼會有警告?我可以忽略它嗎?
performSelector可能會導致泄漏,因爲它的選擇是未知
這是我的代碼:
[self performSelector:config.selector];
爲什麼我得到這個警告嗎?我知道編譯器不能檢查選擇器是否存在,但爲什麼會導致泄漏?我怎樣才能更改我的代碼,以便我不再收到此警告?
我被ARC編譯器收到以下警告爲什麼會有警告?我可以忽略它嗎?
performSelector可能會導致泄漏,因爲它的選擇是未知
這是我的代碼:
[self performSelector:config.selector];
爲什麼我得到這個警告嗎?我知道編譯器不能檢查選擇器是否存在,但爲什麼會導致泄漏?我怎樣才能更改我的代碼,以便我不再收到此警告?
由於@rmaddy指出,這是performSelector may cause a leak because its selector is unknown
重複有比任何抑制警告或玩其他遊戲一個更好的解決方案。
而不是使用SEL
,而是使用回調塊。
I.e.而不是config.selector
,去config.handlerBlock(...)
。
這樣,你就可以在整個過程中保持完整的類型安全,沒有任何東西可以使用ARC,也沒有#pragma dance可以暫時禁用警告或任何其他的東西。
請在發佈之前對錯誤進行搜索。 – rmaddy
@rmaddy是正確的;這是一個愚蠢的http://stackoverflow.com/questions/7017281/performselector-may-cause-a-leak-because-its-selector-is-unknown – bbum
@bbum如果這是一個騙局,你爲什麼重新打開? – rmaddy