Apache Cordovaのソースコードを調べてみると、困惑している2行のコードに遭遇しました。
//[obj performSelector:normalSelector withObject:command];
objc_msgSend(obj,normalSelector,command);
Appleのドキュメントから、これら2つの方法の間に大きな違いはないようです。
id objc_msgSend(id theReceiver、SEL theSelector、...) 単純な戻り値を持つメッセージをクラスのインスタンスに送信します。
-(id)performSelector:(SEL)aSelectorwithObject:(id)anObject オブジェクトを引数として受信者にメッセージを送信します。(必要)
これら2つの方法の違いは正確には何ですか?上記の場合、どちらも受信オブジェクトへの引数としてオブジェクトを使用してメッセージを送信しています。