将数组添加到另一个数组的第二列



我是Objective c的新手。我有一个问题列表,每个问题都有多个答案,所以我需要一个数组,其中包含另一个带有问题编号的数组,然后是一个答案数组。

我有一个NSMutableArray,我用这行来实例化它:

_randomQuestionNumberArray = [[NSMutableArray alloc] initWithCapacity:2];

我用数字填充这个数组:

for (int i = 0; i < numberOfQuestions; i++) {
    NSNumber* xWrapped = [NSNumber numberWithInt:i];
    [_randomQuestionNumberArray addObject:xWrapped];
}

然后我有另一个NSMutableArray,它只是一个普通的数字数组。我想把这个数组添加到_randomQuestionNumberArray的第二列的某一行。我正在使用这段代码,但它似乎不能正常工作。

[_randomQuestionNumberArray insertObject:_tempAnswers atIndex:position];

有人能提供解决方案吗?谢谢你!

不要使用数组的数组。它最初可以工作,但它不灵活或不清晰(因此难以维护)。

相反,使用字典数组,其中每个字典有多个键:

_randomQuestionNumberArray = [NSMutableArray array];
for (int i = 0; i < numberOfQuestions; i++) {
    [_randomQuestionNumberArray addObject:[@{ @"questionNumber" : @(i) } mutableCopy]];
}

然后,当你有你的答案:

NSMutableDictionary *questionDict = [_randomQuestionNumberArray objectAtIndex:...];
[questionDict setObject:_tempAnswers forKey:@"answers"];

现在每条信息的用途都很明显了

注意:数组中每个条目的索引都可以作为问题编号,如果你想要它…

试试这样:- (void)replaceObjectAtIndex:(NSUInteger)index withthobject:(id)anObject;

相关内容

  • 没有找到相关文章

最新更新