Ios 索引的Swift数组集值不起作用
我有一个方法(下面的内容),其中queue2只是一个[Int]。我打印了很多东西,看看是否一切都正常Ios 索引的Swift数组集值不起作用,ios,arrays,swift,Ios,Arrays,Swift,我有一个方法(下面的内容),其中queue2只是一个[Int]。我打印了很多东西,看看是否一切都正常 public func cool(item: Int) { println(item) println(back) //queue2.insert(item, atIndex: back) queue2[back] = item println(queue2.description) println("done") } 问题是这在运行时失败,我不
public func cool(item: Int) {
println(item)
println(back)
//queue2.insert(item, atIndex: back)
queue2[back] = item
println(queue2.description)
println("done")
}
问题是这在运行时失败,我不知道为什么。苹果文档说你可以用这个符号设置数组中任何索引的值,但它不起作用。如果我取消注释注释了注释的行,并注释掉了它下面的一行,那么一切都会正常运行,但它没有提供我需要的功能。给出了什么?如果
queue2
为空,则无论back
是什么,此行都是非法的:
queue2[back] = item
您不能引用不存在的索引,并且空数组没有索引。它使用exc\u bad\u指令(code=exc\u i386\u invop subcode=0x0)back=0停止执行,队列被启动到容量为20的数组。至于使用
queue2.insert(item,atIndex:back)时会发生什么情况。
,这里的问题是,您说“它没有提供我需要的功能”,但您没有解释该功能是什么。这段代码正是您要求它做的事情;无论是它,还是我们,都无法知道你还有什么想法……如果我愿意,我该怎么做?因为这是不可能的,但我想这样做?我真的可以这样做吗?