-(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]; |