在 Swift 中,创建对象时便利初始值设定项出现语法错误
In Swift, get syntax error in convenience initializer when creating an object
我对如何使用便利初始化程序略知一二,指定 initializer.Here 是一个名为 ClassA
的示例 class
class ClassA {
var number:Int
convenience init(){
self.init(newNumber: 10)
}
init(newNumber: Int) {
self.number = newNumber;
}
}
这个 class 运行良好,但我在实现另一个名为 Base 的 class 时遇到了一些麻烦。这是代码:
class Base {
var classObject:ClassA
init(object: ClassA) {
self.classObject = object
}
convenience init(){
self.init(object: ClassA.init())
}
}
在classBase的便利构造器中,我调用了ClassA的便利构造器,作为Base的指定构造器的参数。
但是,我遇到了两个语法错误。
- 预期的成员名称或类型名称后的构造函数调用。
- () 不可转换为 Class A.
如果我使用
self.init(object: ClassA.init(newNumber: 10))
而不是
self.init(object: ClassA.init())
然后第一个错误就消失了。似乎无法识别 ClassA 的便利初始值设定项。
尝试使用self.init(object: ClassA())
我对如何使用便利初始化程序略知一二,指定 initializer.Here 是一个名为 ClassA
的示例 classclass ClassA {
var number:Int
convenience init(){
self.init(newNumber: 10)
}
init(newNumber: Int) {
self.number = newNumber;
}
}
这个 class 运行良好,但我在实现另一个名为 Base 的 class 时遇到了一些麻烦。这是代码:
class Base {
var classObject:ClassA
init(object: ClassA) {
self.classObject = object
}
convenience init(){
self.init(object: ClassA.init())
}
}
在classBase的便利构造器中,我调用了ClassA的便利构造器,作为Base的指定构造器的参数。
但是,我遇到了两个语法错误。
- 预期的成员名称或类型名称后的构造函数调用。
- () 不可转换为 Class A.
如果我使用
self.init(object: ClassA.init(newNumber: 10))
而不是
self.init(object: ClassA.init())
然后第一个错误就消失了。似乎无法识别 ClassA 的便利初始值设定项。
尝试使用self.init(object: ClassA())