我有一个继承自NSOperation的类和一个类应符合的协议:
protocol OperationProtocol { }
class Operation : NSOperation, OperationProtocol {}
我想让每个操作都在Protocol中实现一个main()方法,当从队列运行时调用该方法。
我试过了:
extension OperationProtocol where Self: NSOperation {
func main() {
doMyStuff()
}
}
不调用此主要方法。 在它引发编译器错误之前放置“覆盖”(方法不会覆盖超类中的方法)
我能做到的唯一方法是将实现函数命名为“main()”,然后覆盖Operation中的main()并从Protocol调用实现
class Operation : NSOperation, OperationProtocol {
override func main() {
self.elseThanMain()
}
}
但我不想在Operation的每个子类中覆盖main()。
这甚至可能吗?
由于