我的函数中不断出现此错误
我正在尝试读取数组answerRecord中的值。我使用一个全局变量arrayCount,它跟踪im当前指向哪个索引。
func buttonColourControl(){ switch answerRecord[arrayCount]{ case1: xxxxxxx
我在较早的函数中做了一个println,它为var arrayCount返回一个整数1的值,因此arrayCount不为空。因此,它应该能够将数组解释为:
*假设arrayCount现在为1 answerRecord [arrayCount]应解释为answerRecord [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。
arr[0]
arr[1]
对于任何数组都是如此。每个数组都包含一些元素。它可能是0个元素,在这种情况下, 没有 索引是合法的。它可能是3个元素,在这种情况下,您可以通过索引号0、1和2引用数组的元素。依此类推。就这样。这些是规则。您不能使用任何其他索引号,否则将崩溃。
因此错误消息只是告诉您您正在犯该错误。您有一个数组answerRecord,它有一定数量的元素- 我不知道有多少个元素,也没关系。然后,您使用的是表达式answerRecord[arrayCount],而值的值arrayCount超出了我刚刚说明的范围。这就是您需要知道的一切。该错误消息告诉您程序中的错误。现在您可以修复它。
answerRecord
answerRecord[arrayCount]
arrayCount