我对如何使用便利初始化程序和指定的初始化程序了解一点。这是一个名为ClassA的示例类
class ClassA {
var number:Int
convenience init(){
self.init(newNumber: 10)
}
init(newNumber: Int) {
self.number = newNumber;
}
}
这个类运行良好但是在实现另一个名为Base的类时遇到了一些麻烦。这是代码:
class Base {
var classObject:ClassA
init(object: ClassA) {
self.classObject = object
}
convenience init(){
self.init(object: ClassA.init())
}
}
在类Base的便捷初始值设定项中,我调用了ClassA的便捷初始值设定项,并将其作为Base的指定初始值设定项的参数。
但是,我遇到两个语法错误。
如果我使用
self.init(object: ClassA.init(newNumber: 10))
而不是
self.init(object: ClassA.init())
然后第一个错误消失。看来ClassA的便利初始化程序无法识别。
答案 0 :(得分:1)
尝试使用self.init(object: ClassA())