Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 我可以返回两个数组吗?_Ios_Objective C_Arrays - Fatal编程技术网

Ios 我可以返回两个数组吗?

Ios 我可以返回两个数组吗?,ios,objective-c,arrays,Ios,Objective C,Arrays,我想使用自定义方法返回两个数组,在Objective-C中是否可能 我试过这个: -(nsmutablearray*, namutablearray*)someMethod{ return (nsmutablearray*,namutablearray*) } 以上函数用于swift,但如果您想要多对象传递,则需要 使用此代码: 目标c: -(NSArray*)somemethod{ NSMutableArray *array1 = [NSMutableArray new];

我想使用自定义方法返回两个数组,在Objective-C中是否可能

我试过这个:

-(nsmutablearray*, namutablearray*)someMethod{
  return (nsmutablearray*,namutablearray*)
}

以上函数用于swift,但如果您想要多对象传递,则需要 使用此代码:

目标c:

-(NSArray*)somemethod{
    NSMutableArray *array1 = [NSMutableArray new];
    NSMutableArray *array2 = [NSMutableArray new];
    return @[array1,array2];
}
斯威夫特:

func somemethod() -> [AnyObject] {
        var array1 = [AnyObject]()
        var array2 = [AnyObject]()
        return [array1, array2]
    }
不可能。您可以使用以下代码实现相同的功能:

NSMutableArray *firstArray = [[NSMutableArray alloc] init];
NSMutableArray *secondArray = [[NSMutableArray alloc] init];

[self someMethosWithFirstArray:firstArray AndSecondArray:secondArray];
并使用如下方法:

-(void) someMthodWithFirstArray:(NSMutableArray *) firstArray AndSecondArray:(NSMutableArray *) secondArray {
// update arrays and it will reflect
}

与其返回两个数组,不如返回一个包含这两个数组的数组/字典,或者将它们连接到一个数组或一个字典中,或者也可以执行
-(void)somethodArray1:(NSMutableArray**)array1和Array2:(NSMutableArray**)array2
重新打开,因为所选副本未远程接近此问题。并使用正确的副本关闭。这将不起作用,因为您尚未传递数组的引用。请参阅代码:[self-somethodswithfirstArray:firstArray和secondArray:secondArray]中的这一行;这里两个数组的引用都是传递的:)不,您传递的是数组而不是它们的引用请记住,参数总是作为引用传递的。它不会创建单独的数组。您可以通过运行代码来尝试。您可以通过此处的链接:使用正确的数组语法以正确的格式回答,而不是设置错误的返回语句。@NitinGohel..您的答案是正确的。你删除了你的答案吗?很好的答案。只需要转换成swift:func somemethod()->[AnyObject]{var array1:[AnyObject]=[AnyObject]()var array2:[AnyObject]=[AnyObject]()返回[array1,array2]}@PaulLehn谢谢)