Objective-c的第一个问题:中缀符,到底什么是函数名,什么是参数?

来源:互联网 发布:c二维数组初始化为0 编辑:程序博客网 时间:2024/05/29 06:34
声明时是这样
Objective C code
?
1
2
3
@interface C : NSObject
+(int) fun: (int) a second: (int) b;
@end

定义是这样:
Objective C code
?
1
2
3
4
5
6
@implementation C
+(int) fun: (int) a second: (int) b
{
    return a * b;
}
@end

使用时是这样:
Objective C code
?
1
int a = [C fun: 2 second: 3];

fun应该是理解为函数名吧?那second理解为什么?

如果second理解为第二个参数的名字,那b又是什么?同时fun又是什么?



+(int) fun: (int) a second: (int) b;
照书上写的转成C后变成:
int funsecond(int a,int b);


以NSString类为例:

例如:


 

这里的全部是函数名。

所以平时写的形式:

- (NSRange)rangeOfString:(NSString *)aString
- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask

他们对应的函数名就是:
rangeOfString:
rangeOfString:options:

一开始很难理解,但是习惯就好了