如何将给定对象转换为类型和协议(protocol),以便调用一些定义为扩展的方法
例如:
extension Identifiable where Self: NSManagedObject, Self: JsonParseDescriptor {
func someMethod() { }
}
现在我有一个从核心数据中检索到的对象,我想将其转换为上述协议(protocol),以便在其上调用 someMethod。我可以使用 protocol<Identifiable, JsonParseDescriptor>
转换为协议(protocol),但我怎样才能在其中包含 NSManagedObejct 类型呢?
谢谢
最佳答案
从 Swift 4 开始,现在可以直接进行上述转换而无需棘手的解决方法。该任务的完成方式与我们进行协议(protocol)组合的方式类似:
var myVar = otherVar as! (Type & Protocol)
不再需要扩展和桥接协议(protocol)。
关于ios - Swift 同时将对象转换为类型和协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38979099/