2
A
答えて
3
IMPは基本的には、メッセージの受信時に(fooの長さのように)何が実行されるかを決定するフックであるIMplementation Pointerです。あなたが降りて汚れていない限り、通常は必要ありません。通常はセレクタを扱う方が簡単です。
6.1 IMPとは何ですか?
It's the C type of a method implementation pointer, a function
Objective-Cのメソッドを実装する関数へのポインタ 。 IDを返すように を定義し、2つの隠し引数、自己を取り、_CMDさ:
typedef id (*IMP)(id self,SEL _cmd,...); 6.2 How do I get an IMP given a SEL ? This can be done by sending a methodFor: message : IMP myImp = [myObject methodFor:mySel]; 6.3 How do I send a message given an IMP ? By dereferencing the function pointer. The following are all equivalent : [myObject myMessage]; or IMP myImp = [myObject methodFor:@selector(myMessage)]; myImp(myObject,@selector(myMessage)); or [myObject perform:@selector(myMessage)];
Objective C FAQのセクション6.1から。
msgSendについては、これが別のオブジェクトでリモートメッセージを呼び出す方法です。 objc_msgSend(foo、@ selector(bar))は[foo bar]とおおよそ同じです。しかし、これらはすべて低レベル実装の詳細です。 Objective Cコードの拡張呼び出しを使用する必要はほとんどありません。メソッドを保持するために@selectorを実行し、任意のオブジェクトに対してperformSelector:を呼び出すことができるためです。
関連する問題
- 1. NumberFormatter - ObjectiveC
- 2. ObjectiveCのAMF0パーサー
- 3. ObjectiveCのJSON解析
- 4. ObjectiveC blocks Java equivalent
- 5. iOS ObjectiveC Webservice
- 6. ObjectiveCのJava同等のデコード
- 7. GCCとObjectiveCコードとCygwinのヘルプ
- 8. 糸くずのエラーobjectiveC
- 9. ObjectiveCの静的変数
- 10. ObjectiveC-PHP:文字列とセキュリティの問題を渡す
- 11. 左右サイドバー+ tabbarController(IOS Objectivec)
- 12. iOS11 WKWebviewのクラッシュによるObjectiveCでNSInvalidUnarchiveOperationException
- 13. ObjectiveC /ココアScreencapture /クロスヘッドマウスポインタのセレクタのヘルプ
- 14. ObjectiveC/iPhoneのTwitPic APIを使用
- 15. xibファイルからObjectiveCのviewcontrollerに移動
- 16. 現在の小さなModalVIewController ObjectiveC
- 17. ObjectiveCでカスタムクラスのデリゲートを実装するときの参照カウント
- 18. サークル異なるボタンを使うObjectiveC
- 19. 2D動的メモリ割り当て - ObjectiveC
- 20. iPhone/Objectivec-Cフロート分割誤っ出力
- 21. ObjectiveC <Custom UI>共有拡張キャンセルボタン
- 22. objectiveCとswiftライブラリの使用方法Cocoa Pods
- 23. ObjectiveCからのコールバックでC++メソッドを呼び出す
- 24. ObjectiveC:特定の順序で特性を読み取る
- 25. ObjectiveC - オブジェクトをパラメータとして追加して解放します。
- 26. DarwinとObjectiveC - Cocoaアプリケーションからシェルスクリプトを呼び出す方法は?
- 27. ReplayKit - ObjectiveCのRPPreviewViewControllerへの参照を維持する
- 28. ObjectiveCのNSOperationQueueのようなPythonがありますか?
- 29. UIViewのフレームを取得する方法 - ObjectiveC
- 30. ObjectiveCのNSStringから改行を分割する方法