我是Swift和iOS编程的新手,对类和对象只有一个粗略的了解。
以下是相关代码:
class Step {
var notation: String
init (notation: String) {
self.notation = notation
}
}
class AlgorithmMaker {
let F = Step(notation: "F")
let Fi = Step(notation: "F'")
let F2 = Step(notation: "F2")
var frontArray = [F, Fi, F2]
}
我正在尝试从AlgorithmMaker类内的“ Step”类创建对象数组。但是,Xcode一直给我错误:
'AlgorithmMaker.Type'没有名为'F'的成员
最佳答案
当您初始化类成员时,当前作用域就是类作用域,所以当您执行
var frontArray = [F, Fi, F2]
你实际上在做
var frontArray = [self.F, self.Fi, self.F2]
而
self
是此范围内的类本身,即AlgorithmMaker
。作为解决方案,您可以使用初始化程序并执行
class AlgorithmMaker {
let f = Step(notation: "F")
let fi = Step(notation: "F'")
let f2 = Step(notation: "F2")
var frontArray: [Step]
init() {
frontArray = [f, fi, f2]
}
}