更新NSMutableArray中的Bool值

时间:2012-10-11 15:06:49

标签: objective-c

我已将一个Bool值添加到NSMutableArray中,如下所示:

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

但我如何将值更新为!看起来像一个荒谬简单的问题,但我得到的错误,如'表达不可转让'。

例如,这不起作用:

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

建议表示赞赏。感谢。

2 个答案:

答案 0 :(得分:3)

获取下面的代码段进行测试运行:

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

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

除非您能够使用文字,否则请使用rmaddy的答案。

答案 1 :(得分:2)

使用replaceObjectAtIndex:withObject:方法。

如果您使用的是最新的Xcode和编译器,那么它就更容易了:

myMutableArray[someIndex] = @NO;