0

我正在做一个测验应用程序,其中我已将正确答案及其问题 ID 存储在 NSMutableArray 中。我将其显示在部分 tableView 中。现在如果我在同一部分中标记另一个答案,则必须删除 prevoius 和这个必须附加到阵列。但我无法得到它。

 NSMutableArray *cellSection = [self.finalarray objectAtIndex:indexPath.section];
    int n=[cellSection count];
    NSString *questionId=[[cellSection objectAtIndex:n-1]objectForKey:@"QId"];
 for (NSDictionary *dict in selectedOptionandQIdArray) {

        NSString *str=[dict valueForKey:@"QId"];

        [arr1 addObject:str];

    }

    BOOL isTheObjectThere = [arr1 containsObject:questionId];


    if(isTheObjectThere==YES)
    {
         //remove the prevoius answer and replace by the new answer for the same question id 
    }
 [selectedOptionsArray addObject:dictionary1];


    NSDictionary *dictinary2 =[[NSDictionary alloc] initWithObjectsAndKeys:questionId, @"QId",  nil];
    [selectedOptionsArray addObject:dictinary2];

    [selectedOptionandQIdArray addObject:selectedOptionsArray];

isTheObjectThere总是' NO',即使有相同的问题 ID。

如何删除以前的一个并用新的替换

4

2 回答 2

1
id object = [[array objectAtIndex:0] retain];
[array removeObjectAtIndex:0];
[array insertObject:object atIndex:2];

使用这些行。

于 2013-02-12T07:21:08.773 回答
0

使用replaceObjectAtIndex:withObject:. 只需替换您的答案。就像这样

[selectedOptionsArray replaceObjectAtIndex:indexofrepacingElement withObject:@"newAnswer"];
于 2013-02-12T07:33:20.853 回答