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

SMILET
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
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)];
用這個(gè)可以避免編譯警告。
此外,performSelector的其他變體功能,可以用來(lái)延時(shí)調(diào)用和跨線(xiàn)程調(diào)用
- 1 回答
- 0 關(guān)注
- 394 瀏覽
添加回答
舉報(bào)
0/150
提交
取消