0

我知道有一种方法可以使用目标 c 中的方法获取可选值或默认值,但是有没有办法用函数来做到这一点?

尝试与方法相同的方式会产生冲突类型错误。

IE..

void myfunc();
void myfunc(NSInteger myval);
4

1 回答 1

0

在 Cocoa 中没有所谓的函数。

如果您像在 C++ 中那样使用默认参数,那么 Cocoa 中就没有这样的东西。

但是,您可以让多个方法使用不同的参数共享相同的名称:

 init //no arguments
 initWithName: //one argument
 initWithName:age:  //two arguments

您可以通过以下方式接近此 C++ 默认参数方法:

int sum(int a, int b=0, int c=0){
    return a+b+c;
}

在objective-c中,但永远不要这样做:

-(NSInteger)sumA:(NSInteger)a withB:(NSInteger)b withC:(NSInteger)c{

    if(c==NIL) c=0;
    if(b==NIL) b=0;
    return a+b+c;
}

并将其称为:[self sumA:10 withB:5 withC:nil];

于 2013-02-26T14:55:22.620 回答