你能否客观回答两个论点

只是想知道你是否可以用一个客观的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

上一篇: Can you return two arguments in objective

下一篇: RazorEngine output HTML