Ios 函数(非方法)的可选值
我知道有一种方法可以通过objective c中的方法获得可选值或默认值,但有没有一种方法可以通过函数实现这一点 尝试与使用方法相同的方法会导致类型冲突错误 即Ios 函数(非方法)的可选值,ios,objective-c,Ios,Objective C,我知道有一种方法可以通过objective c中的方法获得可选值或默认值,但有没有一种方法可以通过函数实现这一点 尝试与使用方法相同的方法会导致类型冲突错误 即 在Cocoa中没有所谓的函数 如果你把缺省参数看作C++,那么COCOA中没有任何东西。 但是,可以有多个方法共享相同的名称和不同的参数,如下所示: init //no arguments initWithName: //one argument initWithName:age: //two arguments 您可以接近这
在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与b:(NSInteger)b与c:(NSInteger)c{
并将其命名为:[self-sumA:10与b:5与c:nil];
问题不特定于xcode、iPhone或iPad。(retag)您可以像我在OP中所做的那样在类中定义函数。然后用
myfunc()调用它
在您的代码中,只要包含.h。我明白了,因此仍然必须传递一个值。因此它不能是可选的。ObjC和Cocoa中肯定有函数。int main(int argc,char*argv[])
是每个Cocoa程序的入口点,就像C程序一样。为整数参数传递nil
是不正确的——这是一个对象类型的变量。它可以工作,因为它的值与整数0相同,但不应该用作POD类型的某种哨兵值。@JoshCaswell:我刚刚给出了一个例子,所以我们可以达到接近的程度,但是没有这样的优势,我不是有意使用:(
int sum(int a, int b=0, int c=0){
return a+b+c;
}
if(c==NIL) c=0;
if(b==NIL) b=0;
return a+b+c;
}