我想要一个初始化程序,该初始化程序将使用当前类的类型的参数。最好通过示例显示:
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,因为我正在开发一个框架,该框架包含一个基类,该基类会像这样经常被子类化,所以我想拥有这种行为。