在替代中使用自我类型

时间:2019-03-15 12:49:40

标签: swift generics override

我想要一个初始化程序,该初始化程序将使用当前类的类型的参数。最好通过示例显示:

class A {
    let finishBlock: @escaping (_ parameter: A) -> Void
    init(finishBlock: (_ parameter: A) -> Void) {
        self.finishBlock = finishBlock
    }
}

class B: A {}

现在我想为B提供自动初始化,其中finishBlock将使用参数:B

所以像这样:

init(finishBlock: @escaping (_ parameter: Self) -> Void) {}

这是可以实现的吗?我不想为每个子类编写新的init,因为我正在开发一个框架,该框架包含一个基类,该基类会像这样经常被子类化,所以我想拥有这种行为。

0 个答案:

没有答案