在 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的指定构造器的参数。

但是,我遇到了两个语法错误。

  1. 预期的成员名称或类型名称后的构造函数调用。
  2. () 不可转换为 Class A.

如果我使用

self.init(object: ClassA.init(newNumber: 10))

而不是

self.init(object: ClassA.init())

然后第一个错误就消失了。似乎无法识别 ClassA 的便利初始值设定项。

尝试使用self.init(object: ClassA())