0

正解とその質問 ID を NSMutableArray に保存したクイズ アプリケーションを実行しています。それをセクション tableView に表示しています。同じセクションで別の回答をマークすると、前の回答を削除する必要があり、これが 1 つになります。アレイに接続する必要があります。しかし、私はそれを得ることができません。

 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];

ただし、同じ質問 ID があってもisTheObjectThere常に ' ' です。NO

以前のものを削除して新しいものに置き換えるにはどうすればよいですか

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:ください。answer.like this を置き換えるだけです

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