如何检查可选协议功能是否被实现为纯快速方式?

时间:2018-08-23 15:20:48

标签: swift

我有一个纯swift结构,不能在协议声明中使用@obc

// Struct is very heavy on processing to create
struct HugeDataStruct {
   ....
}

protocol MyOptionalProtocol: class {
   func frameWork(_ framework: Framework, willProcess data: HugeDataStruct)
}

extension MyOptionalProtocol {
   func frameWork(_ framework: Framework, willProcess data: HugeDataStruct) {}
}

现在这是问题所在。我只想在委托人实现了可选协议功能的情况下进行大量处理。

// Somewhere else in my framework
func callDelegateFuncOnlyIfImplemented() { 
   let hugeDataStruct: HugeDataStruct = doSomeMassiveProcessing()
   frameworkDelegate?.frameWork(_ framework: self, willProcess data: hugeDataStruct
}

在进行大量处理之前,是否有任何方法可以检测到委托是否已实现了可选功能

0 个答案:

没有答案