1. 程式人生 > >OC在C語言基礎上新增的基本資料型別

OC在C語言基礎上新增的基本資料型別

 OC 支援C中的所有的資料型別

   C中資料型別:基本  int 構造陣列結構體列舉,指標 int *p1空型別 viod typedef 

新增的資料型別,BOOL型別可以存YES或者NO中的資料儲存條件表示式的結果

 BOOL的本質,是有符號的Char變數

 Boolen 型別的變數,可以儲存 true flase 

儲存條件表示式的結果

 Boolen的本質,是有符號的Char變數 typedef unsigned char

區別 BOOL 要多元化別的語言,

 class 型別是個類

 id 萬能指標

id和void *並非完全一樣。在上面的程式碼中,id是指向struct objc_object的一個指標,這個意思基本上是說,id是一個指向任何一個繼承了Object(或者NSObject)類的物件。需要注意的是id是一個指標,所以你在使用id的時候不需要加星號。比如id foo=nil定義了一個nil指標,這個指標指向NSObject的一個任意子類。而id *foo=nil則定義了一個指標,這個指標指向另一個指標,被指向的這個指標指向NSObject的一個子類。

 nil NULL 差不多   nil和C語言的NULL相同,在objc/objc.h中定義。nil表示一個Objctive-C物件,這個物件的指標指向空(沒有東西就是空)。

Nil  首字母大寫的Nil和nil有一點不一樣,Nil定義一個指向空的類(是Class,而不是物件)。

 SEL 方法選擇器

IMP  從上面的標頭檔案中我們可以看到,IMP定義為 id (*IMP) (id, SEL, …)。這樣說來, IMP是一個指向函式的指標,這個被指向的函式包括id(“self”指標),呼叫的SEL(方法名),再加上一些其他引數。
 
說白了IMP就是實現方法。

Objective-C 函式指標-------IMP
函式指標 

 block用來封裝一段程式碼,可以在任何時候執行的程式碼塊