1、何ですか.runtime:ランタイムメカニズム 1.1 runtimeは下位層のC言語を比較するAPIであり、C言語ライブラリに属し、多くの下位層のC言語APIを含む. 普段書いたOCコードは、プログラムの実行は最終的にruntimeの中のC言語コードに転換し、runtimeがOCの背後工作者であることを説明し、OCコードの実現はruntimeの中のC言語コードを呼び出すことである. 1.3例 [[MJPerson alloc] init];
runtime:
objc_msgSend(objc_msgSend(“MJPerson”, “alloc”), “init”);
2、使ったことがありますか.どうやって使いますか.runtimeはOCの下位層に属し、いくつかの非常に下位層の操作を行うことができる(OCでは実現しにくい) 2.1プログラムの実行中に、動的にクラス(例えば、KVOの下位実装、KVCの下位実装もruntimeメカニズム)を作成する.
2.2プログラムの実行中に、あるクラスに属性(メンバー変数)/メソッドを動的に追加し、属性(メンバー変数)/メソッドを変更する.
2.3クラスのすべての属性(メンバー変数)/メソッドを巡回する
3、関連するメソッドおよびヘッダファイル 3.1ヘッダファイル 3.1.1 3.1.2 3.2関連アプリケーション 3.2.1 NSCoding(アーカイブとアーカイブ) 3.2.2ディクショナリ---->モデル(runtimeを使用してモデルオブジェクトのすべての属性を遍歴し、属性名に基づいてディクショナリから対応する値を取り出し、モデルの属性に設定) 3.2.3 KVO(runtimeを用いてクラスを動的に生成) 3.2.4パッケージング用フレーム(実行時に、どのように変更したいか、どのように変更するか) 3.3相関関数 3.3.1 objc_msgSend:オブジェクトにメッセージを送信する 3.3.2 class_copyMethodList:あるクラスを巡るすべての方法 3.3.3 class_copyIvarList:あるクラスのすべてのメンバー変数(属性)を巡回する
3.3.4 class_...一連の方法 3.4必須常識1)Ivar:メンバー変数Method:メンバーメソッド