我想返回一个笛卡尔坐标 (x, y),作为两个 int
。我看到的唯一方法是创建一个类并返回它的一个实例。
如何从 Objective C 中的方法返回两个值?
最佳答案
您只能从函数返回一个值(就像 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"];
}
关于objective-c - 如何返回两个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2002745/