[object theMethod]のようなメソッドのインスタンスを呼び出すことは、そのインスタンスにアクションを実行するように要求するメッセージ(theMethodという名前のメソッド)です。[object method]とCGRectMakeまたはNSRangeMakeの違い
アップルのdocumentationは、CGRectMakeに関しては役に立ちません。例えば
:メッセージング機能、objc_msgSendへの呼び出しに
[receiver message]
:インスタンスにメッセージを送信するとき
コンパイラがメッセージ表現に変換します。 この機能は、受信機を受け取り、メッセージ、メソッドセレクタとして、その2つの主要なパラメータであるに記載された方法の名称:
objc_msgSend(receiver, selector)
メッセージに渡された引数はまた、objc_msgSendに渡される。
objc_msgSend(receiver, selector, arg1, arg2, ...)
しかし、CGRectMakeはどうですか?その機能はどこにありますか?関数を呼び出すときの主な違い(手続き)は何ですか?
更新:メモリについてはどうですか?例えば、スタック内にブロックが作成されます。 CGRectMakeはどうですか?
ご不明な点がある場合は、具体的なコード例をご入力ください。 – rmaddy
'[オブジェクトtheMethod]'はObjective-Cセマンティクスですが、 'CGRectMake()'のような関数はインラインC関数呼び出しです。 http://stackoverflow.com/questions/6207440/what-does-cg-inline-doを参照してください。 – fullofsquirrels
私はそれがObjective-Cだけに関連していないと思います。これはOOPと非OOPの関係です。私はそれが長い答え、賛否両論などを必要とするので、面白い質問であっても、それはかなり広いと思う。 – Larme