objective-c語言學習筆記
1、c語言風格函式申明
int add(int a, int b);
oc語言為
(int)add:(int)a par2:(int) b;
函式名add也是第一個引數名稱,第二個引數名稱是par2,這樣處理是為了實現函式的多型性。
2、方法的定義和引用:
Object-C中的方法同其它面嚮物件語言一樣,分兩種方法:例項方法(-)和類方法(+)(靜態方法)。
例項方法需要通過類的例項去呼叫,而靜態方法可直接通過類名去呼叫。
1 - (void)insertObject:(id)anObject atIndex:(NSUInter)index;
上述程式碼中定義了一個名為"insertObject:atIndex"的例項方法,該方法無返回值,並定義了2個形參,型別分別為id和NSUInter。
類方法,也稱靜態方法,指的是用static關鍵字修飾的方法。此方法屬類本身的方法,不屬於類的某一個例項(物件)。類方法中不可直接使用例項變數。其呼叫方式有三種:可直接呼叫、類名.方法名、物件名.方法名。例項方法指的是不用static關鍵字修飾的方法。每個例項物件都有自身的例項方法,互相獨立,不共享一個。其呼叫方式只能是物件名.方法名。
用修飾符static宣告的方法為靜態方法,不用修飾符static宣告的方法為例項方法
在定義一個方法時,也可以不指定引數名,如:
1 // 宣告一個沒有引數名的方法 2 -(int) set: (int) n: (int) d; 3 4 // 方法呼叫 5 [object set : 4 : 5];
方法的呼叫:
在Object-C中,呼叫一個方法叫做傳送訊息,方法呼叫語句定義在中括號"[]"中:
1 [myArray insertObject:anObject atIndex:0];
為了避免生成大量的臨時變數,Object-C允許巢狀呼叫方法,使一個方法的返回值當作另一個方法的引數,如:
1 [[myAppObject theArray] inserObject:[myAppObject objectToInsert] atIndex:0];