Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
致命错误:Swift Xcode6中的数组索引超出范围_Swift_Xcode6.1 - Fatal编程技术网

致命错误:Swift Xcode6中的数组索引超出范围

致命错误:Swift Xcode6中的数组索引超出范围,swift,xcode6.1,Swift,Xcode6.1,我的函数中不断出现此错误 我正在尝试读取数组answerRecord中的值。我使用一个全局var arrayCount,它跟踪我当前指向的索引 func buttonColourControl(){ switch answerRecord[arrayCount]{ case1: xxxxxxx 我在前面的func中做了一个println,它为var arrayCount返回一个int 1的值 因此arrayCount不是空的。因此,它应该能够将数组解释为: *假设arrayCo

我的函数中不断出现此错误

我正在尝试读取数组answerRecord中的值。我使用一个全局var arrayCount,它跟踪我当前指向的索引

func buttonColourControl(){
    switch answerRecord[arrayCount]{
    case1: xxxxxxx
我在前面的func中做了一个println,它为var arrayCount返回一个int 1的值 因此arrayCount不是空的。因此,它应该能够将数组解释为:

*假设arrayCount现在为1 应答记录[arrayCount]应解释为应答记录[1] 如果我错了,请纠正我

@IBAction func nextButtonClicked(sender: UIButton) {
    arrayCount = ++arrayCount
    question.text = spouseQuesion[arrayCount]
    controlBackNextButton()
    answer1Label.text = spouseAnswer1[arrayCount]
    answer2Label.text = spouseAnswer2[arrayCount]
    answer3Label.text = spouseAnswer3[arrayCount]
    println(arrayCount)
    buttonColourControl()
}

假设有一个数组,其中有一个对象:

let arr = ["hello"]
该数组中唯一有效的索引是0<代码>arr[0]是合法的<代码>arr[1]不可用。数组有1个元素,但其索引号为0

这对于任何数组都是正确的。每个数组都包含一定数量的元素。它可能是0个元素,在这种情况下,没有索引是合法的。它可能是3个元素,在这种情况下,您可以通过索引号0、1和2引用数组的元素。等等这就是全部。这些就是规则。您不能使用任何其他索引号,否则将崩溃


因此,错误信息只是告诉您正在犯错误。你有一个数组
answerRecord
,它有一些元素-我不知道有多少,这并不重要。然后使用表达式
answerRecord[arrayCount]
,而
arrayCount
的值超出了我刚才解释的范围。你只需要知道这些。错误消息告诉您程序中的错误。现在您可以修复它。

哪一行发生错误?在func buttonColourControl()内的switch语句中,此错误意味着当您说
answerRecord[arrayCount]
时,
arrayCount
的值与
answerRecord
的任何索引号都不对应。在这里不能只使用任何值。它必须介于0和数组大小之间。数组本身的计数太大。
arrayCount
的值来自哪里?回答记录中到底有什么?嗨,马特,我知道我的错误在哪里。谢谢你的清楚解释。我先读取下一个元素,然后再向其中添加值。现在我想做一个IF语句来检查arrayRecord[arrayCount]是否为空,但是我得到了另一个错误。如果应答记录[arrayCount]!=零->这意味着什么?