-(int) f:(int)x;
1.這里 - 表示對象方法, +表示類的方法
2.參數分割使用 : 號來分開
多參數情況:
1.函數不帶參數 (函數名: f)
-(int) f
2.帶一個參數(函數名 f:x)
-(int) f:(int)x
類似c語言中的 int f(int x) 函數
3.帶兩個參數 (函數名 f::)
-(float) f:int(x) :(int) y
類似c語言中的 float f(int x, int y) 函數
上述函數可以改為
-(float) f:int(x) g:(int) y
這里g表示標簽,函數名是f:g:, 第一個參數不能有標簽,事實上函數名就是第一個參數的標簽
函數調用對比
| 比較項目 | C | Object - C |
| 無參數 | int foo(); int ret = obj -> foo(); |
- (int) foo; int ret = [obj foo]; |
| 一個參數 | int foo(int a); int ret = obj->foo(100); |
-(int) foo:(int)a; int ret = [obj foo:100]; |
| 兩個參數 | int foo(int a, int b); int ret = foo(10,20); |
-(int) foo:(int)a :(int)b; int ret = [obj foo:10 :20] |
| 帶標簽 | int fooAndB(int a,intb); ret = fooAndB(10,20); |
-(int) foo:(int)a andB:(int)b; int ret = [obj foo:10 andB:20]; |
