arrays - swift :changing the content of an array gives me an error

标签 arrays xcode swift

我有这个数组:

var array = [[12,46,["a","b","c"],"nil",true,7,true],[10,40,["c","d","e"],"nil",true,7,true],[0,1,["z","l","w"],"hey",false,7,true]].

当我尝试通过此代码更改数组 bool 值的最后一个 bool 值时:

array[0][6] = false

我得到这个错误“无法通过下标分配下标是只获取数组”

最佳答案

很有趣。我认为编译器在某个地方绊倒了。您只需检查数组的类型即可了解原因:

var array = [
    [12,46,["a","b","c"],"nil",true,7,true],
    [10,40,["c","d","e"],"nil",true,7,true],
    [0,1,["z","l","w"],"hey",false,7,true]
]

print(array.dynamicType) // Array<NSArray>
                         // can't assign to the inner array since NSArray is immutable

给 Swift 一个内部类型的提示,它就起作用了

var array: [[AnyObject]] = [
    [12,46,["a","b","c"],"nil",true,7,true],
    [10,40,["c","d","e"],"nil",true,7,true],
    [0,1,["z","l","w"],"hey",false,7,true]
]

array[0][6] = false     // works

关于arrays - swift :changing the content of an array gives me an error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38088432/

相关文章:

ios - 将 NSDate 转换为毫秒纪元时间

arrays - 从数组中随机选择一个 SpriteNode?

ios - 使用 Swift 将 JSON 字符串转为 NSDictionary

swift - 如何向日期选择器添加时间

swift - 计算 UITextField 的字符因 NSException 崩溃

c - 逐行读取文件并存储在C中

javascript - 使用 array.map() 更改数组索引

c# - Dll 使用数组将 C++ 导入到 C#

ios - C 结构与对象

ios - 在 tableview 单元格上执行 segue 时出现问题