【发布时间】:2017-03-28 08:14:46
【问题描述】:
在 Swift 3 Playground 中,我想创建一个可变数组,其中一些索引为数字,其他索引为字符串。执行此操作时出现错误:
var playerInfo = [[String]]()
playerInfo[0][2] = "Adam" //Error: Execution was interrupted, reason: EXC_BAD_INSTRUCTION (code=EXC_1386_INVOP, subcode=0x0)
playerInfo[0][3] = "Martinez"
playerInfo[0][1] = "00"
编辑: 像这样?
var playerInfo: [[String:Any]] = [
[
"playerNumber" : "00",
"playerFirstName" : "Adam",
"playerLastName" : "Martinez"
]
]
【问题讨论】:
-
您可以为此创建字典数组。
-
您不能添加带有索引下标的项目,因为所有数组都是空的(没有索引 0)。
-
@NandiinBao 崩溃的原因与您的链接答案无关。
-
至于崩溃,@vadian 是对的。
var playerInfo = [[String]]()只创建一个空数组的空数组。playerInfo[0]会导致崩溃,因为playerInfo中没有第 0 个元素,因为它是空的。即使您将变量构造为var playerInfo = [[String]](repeating: [], count: 100),调用playerInfo[0][2]也会导致崩溃。playerInfo[0]这次确实存在,但它是一个空数组,里面没有第二个元素。
标签: arrays swift dictionary