我在iOS课程中,在制作我的应用时遇到了这个错误:
import Foundation
import UIKit
class RootsCateogry1: ViewController {
@IBOutlet weak var roots1Label: UILabel!
var rootsWeek1 = ["acro", "micro"]
var rootsWeek1Meaning = ["Air", "Small"]
var roots1Show = []
var temp = rootsWeek1.count // error here
var p = 0
var i = 0
while(i<temp){ // error here
roots1Show.append(rootsWeek1temp)
temp++
}
// ...
}
答案 0 :(得分:1)
temp
是计算属性,而不是编译时常量。您需要覆盖其getter或将其放在init
或viewDidLoad
:
var temp: Int {
return rootsWeek1.count
}
或:
override func viewDidLoad() {
super.viewDidLoad()
var temp = rootsWeek1.count
}
你的while循环必须进入一个函数,它不能存在于类级别。考虑将其移至viewDidLoad
。在将其添加到rootsWeek1temp
之前,您也没有声明名为roots1Show
的变量,因此如果对象不存在,编译器将不知道要附加到数组的内容。