Ios 目标C-返回2D字符串数组

Ios 目标C-返回2D字符串数组,ios,objective-c,arrays,string,text,Ios,Objective C,Arrays,String,Text,我正在创建一个函数,它应该返回一个2d单词数组。一次用英语,一次用斯洛伐克语。这些单词存储在TXT文件中。我理解txt,它正在工作,但是编译器在返回NSString 2d数组时似乎有问题。你能看一下吗 这是给出错误的最后一行函数: 不兼容的指针类型从结果类型为“NSString”的函数返回“NSString*.\u strong[[array count]]][2]” - (NSString*) getWordArray { NSArray *array = [self getTxtAr

我正在创建一个函数,它应该返回一个2d单词数组。一次用英语,一次用斯洛伐克语。这些单词存储在TXT文件中。我理解txt,它正在工作,但是编译器在返回NSString 2d数组时似乎有问题。你能看一下吗

这是给出错误的最后一行函数: 不兼容的指针类型从结果类型为“NSString”的函数返回“NSString*.\u strong[[array count]]][2]”

- (NSString*) getWordArray
{
    NSArray *array = [self getTxtArray];
    NSString *str[[array count]] [2];
    for(int i = 0; i < [array count]; i++)
    {
        NSArray *translation = [array[i] componentsSeparatedByString:@" "];
        str[i][0] = [translation objectAtIndex:0];
        str[i][1] = [translation objectAtIndex:1];
    }
    return str;
}

您需要对2D字符串数组使用
NSMutableArray
。您的
getWordArray
方法如下所示:

- (NSArray *)getWordArray
{
    NSArray *array = [self getTxtArray];
    NSMutableArray *strArray = [NSMutableArray array]; // This is your 2D array
    for(int i = 0; i < [array count]; i++)
    {
        NSArray *translation = [array[i] componentsSeparatedByString:@" "];
        // translation is assumed to be an array with two elements
        [strArray addObject:translation];
    }
    return strArray;
}
-(NSArray*)getWordArray
{
NSArray*array=[self-getTxtArray];
NSMutableArray*strArray=[NSMutableArray];//这是您的2D数组
对于(int i=0;i<[数组计数];i++)
{
NSArray*translation=[array[i]componentsSeparatedByString:@'];
//假定平移是一个包含两个元素的数组
[strArray addObject:翻译];
}
回程线;
}
这是因为2D数组是数组的数组,而且由于
componentsSeparatedByString:
返回一个数组,我们可以将每个数组填充到容器数组中

- (NSArray *)getWordArray
{
    NSArray *array = [self getTxtArray];
    NSMutableArray *strArray = [NSMutableArray array]; // This is your 2D array
    for(int i = 0; i < [array count]; i++)
    {
        NSArray *translation = [array[i] componentsSeparatedByString:@" "];
        // translation is assumed to be an array with two elements
        [strArray addObject:translation];
    }
    return strArray;
}