【发布时间】:2012-09-03 11:38:49
【问题描述】:
浏览 Apache Cordova 的源代码,我遇到了两行令我感到困惑的代码:
//[obj performSelector:normalSelector withObject:command];
objc_msgSend(obj,normalSelector,command);
从 Apple 的文档来看,这两种方法似乎没有太大区别。
id objc_msgSend(id theReceiver, SEL theSelector, ...) 向类的实例发送带有简单返回值的消息。
- (id)performSelector:(SEL)aSelectorwithObject:(id)anObject 使用对象作为参数向接收者发送消息。 (必填)
这两种方法到底有什么区别?在上述情况下,两者都将带有对象作为参数的消息发送给接收对象。
【问题讨论】:
标签: objective-c ios cocoa