Objective-C運(yùn)行時定義了幾種重要的類型。
Class:定義Objective-C類
Ivar:定義對象的實例變量,包括類型和名字。
Protocol:定義正式協(xié)議。
objc_property_t:定義屬性。叫這個名字可能是為了防止和Objective-C 1.0中的用戶類型沖突,那時候還沒有屬性。
Method:定義對象方法或類方法。這個類型提供了方法的名字(就是選擇器)、參數(shù)數(shù)量和類型,以及返回值(這些信息合起來稱為方法的簽名),還有一個指向代碼的函數(shù)指針(也就是方法的實現(xiàn))。
SEL:定義選擇器。選擇器是方法名的唯一標(biāo)識符。
IMP:定義方法實現(xiàn)。這只是一個指向某個函數(shù)的指針,該函數(shù)接受一個對象、一個選擇器和一個可變長參數(shù)列表(varargs),返回一個對象