運(yùn)行時(shí)機(jī)制,runtime庫里面包含了跟類挠羔、成員變量、方法相關(guān)的API,比如獲取類里面的所有成員變量,為類動(dòng)態(tài)添 加成員變量,動(dòng)態(tài)改變類的方法實(shí)現(xiàn),為類動(dòng)態(tài)添加新的方法等 需要導(dǎo)入<objc/message.h><objc/runtime.h>
runtime,運(yùn)行時(shí)機(jī)制,它是一套C語言庫,實(shí)際上我們編寫的所有OC代碼,最終都是轉(zhuǎn)成了runtime庫的東西,比如類轉(zhuǎn)成了runtime庫里面的結(jié)構(gòu)體等數(shù)據(jù)類型,方法轉(zhuǎn)成了runtime庫里面的C語言函數(shù),平時(shí)調(diào)方法都是轉(zhuǎn)成了objc_msgSend函數(shù)(所以說OC有個(gè)消息發(fā)送機(jī)制)因此,可以說runtime是OC的底層實(shí)現(xiàn),是OC的幕后執(zhí)行者有了runtime庫,能做什么事情呢?runtime庫里面包含了跟類混坞、成員變量、方法相關(guān)的API,比如獲取類里面的所有成員變量,為類動(dòng)態(tài)添加成員變量,動(dòng)態(tài)改變類的方法實(shí)現(xiàn),為類動(dòng)態(tài)添加新的方法等因此,有了runtime,想怎么改就怎么改