Swift 符合返回“的静态函数”;“自我”;
在尝试符合NSItemProviderReading时,出现以下错误: 此方法的协议定义如下:Swift 符合返回“的静态函数”;“自我”;,swift,swift-protocols,Swift,Swift Protocols,在尝试符合NSItemProviderReading时,出现以下错误: 此方法的协议定义如下: public static func object(withItemProviderData data: Data, typeIdentifier: String) throws -> Self 协议静态函数返回类型“Self”,我尝试将其更改为实际类的名称,但是它将不再符合NSItemProviderReading 如何回归“自我” 更新: 这就是我要求Xcode修复它时发生的情况: 它
public static func object(withItemProviderData data: Data, typeIdentifier: String) throws -> Self
协议静态函数返回类型“Self”,我尝试将其更改为实际类的名称,但是它将不再符合NSItemProviderReading
如何回归“自我”
更新:
这就是我要求Xcode修复它时发生的情况:
它附加为!Self,但随后显示了2个错误和此警告,看起来很混乱,因为它似乎想恢复到以前的状态,在本例中返回类的实例NameData
Self
在协议中要求协议的一致性使用自己的类型。因此,当在类扩展中符合此条件时,需要在方法的返回类型中将Self
更改为NameData
extension NameData: NSItemProviderReading {
static func object(withItemProviderData data: Data, typeIdentifier: String) throws -> NameData {
return NameData(name: "Test")
}
}
还有一件事,你需要使你的NameData类成为final类,这可能与尝试使NameData成为final类是重复的,就是final子句!