函數即方法
在OC對象中,函數似對象的行爲,實例對象用 (-) 返回,類返回 用(+)
(一)方法的定義:
- (return_type) method_name:( argumentType1 )argumentName1
joiningArgument2:( argumentType2 )argumentName2 ...
joiningArgumentn:( argumentTypen )argumentNamen {
body of the function
}
這裏有一個比較特殊的地方是:第一個參數是方法名跟參數結合在一塊的,舉個max
方法的例子,如下:
/* 返回兩個參數的最大值 */
- (int) max:(int) num1 secondNumber:(int) num2 {
/* 局部變量聲明 */
int result;
if (num1 > num2) {
result = num1;
} else {
result = num2;
}
return result;
}
上圖:max是方法名稱,其中num1,num2是形式參數,如果把它改成Java代碼,如下:
/* 返回兩個參數的最大值 */
int max(int num1,int num2) {
/* 局部變量聲明 */
int result;
if (num1 > num2) {
result = num1;
} else {
result = num2;
}
return result;
}
方法的調用:
#import <Foundation/Foundation.h>
@interface SampleClass:NSObject
/* 方法聲明 */
- (int)max:(int)num1 andNum2:(int)num2;
@end
@implementation SampleClass
/* 返回兩個數的最大值 */
- (int)max:(int)num1 andNum2:(int)num2 {
/* 聲明局部變量 */
int result;
if (num1 > num2) {
result = num1;
} else {
result = num2;
}
return result;
}
@end
int main () {
/* 定義局部變量 */
int a = 19;
int b = 20;
int ret;
/* 初始化並分配內存*/
SampleClass *sampleClass = [[SampleClass alloc]init];
/* 調用方法來獲取最大值 */
ret = [sampleClass max:a andNum2:b];
NSLog(@"Max value is : %d\n", ret );
return 0;
}
以上就是OC函數的寫法與調用。
更多課程請訪問個人主頁: