[self method] 與 [self performSelector:@selector(method)]之間的區(qū)別如題,既然直接對一個實例發(fā)送方法名就可以調(diào)用這個方法,那為什么還要使用performSelector:去調(diào)呢?兩者u有啥區(qū)別
1 回答

SMILET
TA貢獻1796條經(jīng)驗 獲得超4個贊
the performSelector: method allows you to send messages that aren’t determined until runtime.
比如:
id instance = instance_from_other_module(); [instance call_undeclared_method]; // 有編譯警告 [instance performSelector:@selector(call_undeclared_method)];
用這個可以避免編譯警告。
此外,performSelector的其他變體功能,可以用來延時調(diào)用和跨線程調(diào)用
- 1 回答
- 0 關(guān)注
- 356 瀏覽
添加回答
舉報
0/150
提交
取消