OC學習總結之block category

2021-06-29 06:29:29 字數 1228 閱讀 5916

例子

//

用乙個block輸出n條橫線

void (^lineblock)(int) = ^(int

n)

};lineblock(

5);

int (^sumblock)(int, int

);

void (^myblock)();

^(

inta,

intb) ;

^() ;

^;

typedef int (^myblock)(int, int); 

//以後就可以利用myblock這種型別來定義block變數

myblock block;

myblock a;

a = ^(int a, int

b) ;

myblock a2 = ^(int a, int

b) ;

oc中,

有的時候我們會碰到一種情況,比如我們封裝了乙個類,不想再動它了,但是我們又需要在那個類中增加乙個方法,這時候我們就不必在那個類中做修改或者再定義乙個它的子類,只需要新增乙個類目(category)即可。

類目的命名規則:類名(擴充套件方法名)

類目不繼承父類,只需要乙個括號表明該類目的用途即可

無法想類目中新增新的例項變數,類目沒有位置來容納例項變數,如果想增加類的例項變數,只能通過定義子類的方式

如果在類目中覆蓋現有類的方法,這樣會引起super的訊息的斷裂,因為類目中的方法具有更高的優先順序,因此,一般不要覆蓋現有類中的方法

OC學習總結

經過小半個月的學習oc學習結束了,或多或少的有些收穫與不足.1首先學習物件導向與面向過程的區別 開發中 先定義類,再建立物件,然後使用物件 定義類包含了兩個部分 介面部分和實現部分 1 介面部分 對外宣告類的特徵和行為 標誌 inte ce 2 實現部分 對內實現行為.標誌 implementati...

ios 學習之OC語言總結2

這裡總結自己了解的 協議 通知廣播,block語句 沒和之前總結的一起,這裡自己理解起來也花了點時間 ios 中 protocol 委託的理解 ui 兩個view檢視的資料傳遞 意義 委託給其他人做事 h 在需要把資料傳遞出去的view進行協議的定義 比如 1 protocol 進行定義 2 寫入要...

OC學習總結(一)

oc學習總結 一 知識要點 1 類 inte ce 頭檔案格式.h inte ce class name super class name property 點語法中可以方便使用 以後property關鍵字實現了三部分工作 成員變數的定義如 name 預設為private property和synt...