跟普通的函数调用有什么区别?
[monster foo]
// VS
if ([nodeGraph respondsToSelector:@selector(didLoadFromCCB)])
{
[nodeGraph performSelector:@selector(didLoadFromCCB)];
}
1.可以判断函数是否存在
respondsToSelector
2.可以跨线程,延迟调用
3.相当于函数指针,可当参数传递
4.SEL 变量名 = NSSelectorFromString(方法名字的字符串) 【动态调用】
相当于给系统发送了一条objc_msgSend消息
// TODO