0

次のように、ブール値を NSMutableArray に追加しました。

[myMutableArray insertObject:[NSMutableArray arrayWithObjects:
                                       [NSNumber numberWithBool:YES],
                                       …,
                                       …,
                                       nil] atIndex:i];

しかし、後で値をNOに更新するにはどうすればよいですか。とてつもなく単純な質問のように思えますが、「式は代入できません」などのエラーが表示されます。

たとえば、これは機能しません。

[[myMutableArray objectAtIndex:i] objectAtIndex:0] = NO;

アドバイスをいただければ幸いです。ありがとう。

4

2 に答える 2

3

テスト実行のために以下のスニペットを取得します。

NSNumber *newValue = [NSNumber numberWithBool:NO]; //toggle the value of the BOOL value

[mutableArray replaceObjectAtIndex:[[mutableArray objectAtIndex:i] objectAtIndex:0] withObject:newValue];

リテラルを使用できない場合は、rmaddy の回答を使用してください。

于 2012-10-11T15:09:52.093 に答える
2

replaceObjectAtIndex:withObject: メソッドを使用します。

最新の Xcode とコンパイラを使用している場合は、さらに簡単になります。

myMutableArray[someIndex] = @NO;
于 2012-10-11T15:08:00.080 に答える