最近在整理文檔娇昙,看到一些關(guān)于runtime 的東西净刮。想說整理一下給新手看看剥哑。
那什么是runtime 呢?
Runtime簡介
1.runtime又稱為運(yùn)行時(shí),也就是在運(yùn)行時(shí)候的一些機(jī)制,最出名的是消息機(jī)制淹父。
2.有些語言株婴,比如C語言是在編譯的時(shí)候就確定好函數(shù)。但是OC是屬于動(dòng)態(tài)調(diào)用過程暑认,是在真正運(yùn)行的時(shí)候才會(huì)通過函數(shù)的名稱找到對(duì)應(yīng)的函數(shù)來調(diào)用困介。
Runtime的作用??
1.今天就簡單的談一下 消息機(jī)制
2.使用消息機(jī)制前提揪垄,必須導(dǎo)入#import<objc/message.h>
通常 的方法就是我們直接調(diào)用
那么問題來了,這樣寫有什么不好的嗎逻翁。
/* Basic Messaging Primitives
?*
?* On some architectures, use objc_msgSend_stret for some struct return types.
?* On some architectures, use objc_msgSend_fpret for some float return types.
?* On some architectures, use objc_msgSend_fp2ret for some float return types.
?*
?* These functions must be cast to an appropriate function pointer type?
?* before being called.?
?*/
這個(gè)是? 蘋果給我們的提示饥努。因?yàn)樵诤芏嗟胤蕉夹枰祷夭煌愋偷姆祷刂怠K栽谑褂?/p>
objc_msgSend的時(shí)候 最好轉(zhuǎn)成函數(shù)指針類型
其實(shí)里面還有很多種八回,比如可以選擇帶不帶參數(shù)酷愧,有沒有返回值等等。
今天就先說這么多吧缠诅。繼續(xù)更新