你能否客观回答两个论点
只是想知道你是否可以用一个客观的c方法返回两个参数,例如我想返回一个笛卡尔坐标(x,y),基本上是两个整数。 是通过创建一个类并返回一个实例来做到这一点的唯一方法? 有没有其他方式我没有想到,这里有一个初学者。
(语法帮助也将不胜感激。)
谢谢,
缺口
你只能从一个函数返回一个值(就像C),但是这个值可以是任何东西,包括一个结构。 因为你可以通过值返回一个结构,你可以像这样定义一个函数(借用你的例子):
-(NSPoint)scalePoint:(NSPoint)pt by:(float)scale
{
return NSMakePoint(pt.x*scale, pt.y*scale);
}
这只适用于小型/简单结构。
如果你想返回多个新对象,你的函数应该指向对象指针,因此:
-(void)mungeFirst:(NSString**)stringOne andSecond:(NSString**)stringTwo
{
*stringOne = [NSString stringWithString:@"foo"];
*stringTwo = [NSString stringWithString:@"baz"];
}
您可以直接返回一个值并通过引用返回另一个值,如gs的答案中所示,或者创建一个结构类型并返回它。 例如,Cocoa已经包含一个类型来标识2D平面上的点,NSPoint。
你不能为此做一个NSArray
吗?
return [NSArray arrayWithObjects:coorX, coorY, nil];
链接地址: http://www.djcxy.com/p/65109.html