我有这个数组:
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/