1.什麼是runtime運行時? 框架
runtime運行時是一套比較底層的純C語言API, 屬於1個C語言庫, 包含了不少底層的C語言API。
在咱們平時編寫的OC代碼中, 程序運行過程當中, 其實最終都是轉成了runtime的C語言代碼, runtime算是OC的幕後工做者 函數
好比說,下面一個建立對象的方法中, alloc方法和init方法,最終都是經過運行時發送消息來實現(消息機制)
spa
1 //OC: 2 [[LJPerson alloc] init] ; 3 //runtime : 使用runtime時導入 <objc/runtime.h>便可 4 objc_msgSend(objc_msgSend(「LJPerson」 , 「alloc」), 「init」);
2.runtime 有什麼用?
runtime是屬於OC的底層, 能夠進行一些很是底層的操做(用OC是沒法現實的, 很差實現)code
在程序運行過程當中, 動態建立一個類(好比KVO的底層實現)對象
在程序運行過程當中, 動態地爲某個類添加屬性\方法, 修改屬性值\方法\方法的實現blog
遍歷一個類的全部成員變量(屬性)\全部方法
*代碼能夠參考MJExtention框架get
3.runtime 中常常用到的函數:it
4.應用舉例:io
待寫。。。。。。class