0

目的 c のメソッドでオプションの値またはデフォルト値を取得する方法があることは知っていますが、関数でこれを行う方法はありますか?

メソッドと同じ方法で試行すると、競合する型のエラーが発生します。

つまり..

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

1 に答える 1

0

ココアには関数と呼ばれるものは何もありません。

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 に答える