首先,第乙個問題,
1》runtime實現的機制是什麼,怎麼用,一般用於幹嘛?
這個問題我就不跟大家繞彎子了,直接告訴大家,
runtime是一套比較底層的純c語言api, 屬於1個c語言庫, 包含了很多底層的c語言api。
在我們平時編寫的oc**中, 程式執行過程時, 其實最終都是轉成了runtime的c語言**, runtime算是oc的幕後工作者
比如說,下面乙個建立物件的方法中,
舉例:
oc :
[[mjperson alloc] init]
runtime :
objc_msgsend(objc_msgsend(「mjperson」 , 「alloc」), 「init」)
第二個問題
runtime 用來幹什麼呢??用在那些地方呢?怎麼用呢?
runtime是屬於oc的底層, 可以進行一些非常底層的操作(用oc是無法現實的, 不好實現)
@inte***ce pyperson : nsobject
@property (nonatomic, assign) int age;
@property (nonatomic, assign) int height;
@property (nonatomic, copy) nsstring *name;
@property (nonatomic, assign) int age2;
@property (nonatomic, assign) int height2;
@property (nonatomic, assign) int age3;
@property (nonatomic, assign) int height3;
@property (nonatomic, assign) int age4;
@property (nonatomic, assign) int height4;
@end
而pyperson.m實現檔案的內容如下
#import "pyperson.h"
@implementation pyperson
@end
這樣我們可以看到歸檔和解檔的案例其實是runtime寫下的
學習,runtime機制首先要了解下面幾個問題
1相關的標頭檔案和函式
1> 標頭檔案
2> 相關應用
3> 相關函式
4.必備常識
1> ivar : 成員變數
2> method : 成員方法
從上面例子中我們看到我們定義的成員變數,如果要是動態建立方法,可以使用method,
runtime 執行時機制
必備常識 1.ivar 成員變數 2.method 成員方法相關應用 1.nscoding 歸檔和解檔,利用runtime遍歷模型物件的所有屬性 2.字典 模型 利用runtime遍歷模型物件的所有屬性,根據屬性名從字典中取出對應的值,設定到模型的屬性上 3.kvo 利用runtime動態產生乙個類...
runtime 執行時機制
runtime 執行時機制 一 runtime是什麼 1 runtime是乙個全動態語言,是基於c語言的庫,裡面包含了很多底層的c語言函式。2 平時編寫的oc 在程式執行過程中,其實最終都是轉成了runtime的c語言 runtime算是oc方法的底層實現,換句話說oc的實現也就是runtime的底...
runtime執行時機制
1,說一下執行時機制 執行時機制 1 runtime,執行時機制,它是一套c語言庫 2 實際上我們編寫的所有oc 最終都是轉成了runtime庫的東西,比如類轉成了runtime庫裡面的結構體等資料型別,方法轉成了runtime庫裡面的c語言函式,平時調方法都是轉成了objc msgsend函式 所...