如何在NSDictionary中编辑数组

时间:2015-11-08 01:42:23

标签: ios swift swift2

我的代码中有[String,AnyObject]字典,如下所示,我想修改“boolArray”中的值,但我Xcode会抛出“无法分配给'AnyObject'类型的不可变表达式”错误。

有没有简单的方法来改变这个“boolArray”的价值?

var dictionary : NSDictionary = [
        "foo" : 0,
        "bar" : "string",
        "boolArray" : [false, false, false, false, false, false, false, false]  
    ]

dictionary["boolArray"]![0] = true // [!] Cannot assign to immutable expression of type 'AnyObject!'

2 个答案:

答案 0 :(得分:2)

Abizern的答案部分属实。您需要将NSDictionary更改为NSMutableDictionary。您还必须更改

dictionary["boolArray"]![0] = true

dictionary["boolArray"]!.setObject(true, atIndex: 0)

答案 1 :(得分:1)

麻烦在于你的类型。 NSDictionary是不可变的。请尝试将其声明为NSMutableDictionary