gpt4 book ai didi

swift - 符合返回 "Self"的静态函数

转载 作者:可可西里 更新时间:2023-11-01 00:35:27 24 4
gpt4 key购买 nike

当尝试符合 NSItemProviderReading 时,出现以下错误: enter image description here

该方法的协议(protocol)定义如下:

public static func object(withItemProviderData data: Data, typeIdentifier: String) throws -> Self

协议(protocol)静态函数返回类型“Self”,我试图将其更改为实际类的名称,但它不再符合 NSItemProviderReading。

如何返回“ self ”?

更新:这是当我要求 Xcode 修复它时发生的情况: enter image description here

它追加为!自己,但随后显示 2 个错误和此警告,它看起来令人困惑,因为它似乎想恢复到以前的状态,在这种情况下返回类的实例 NameData

最佳答案

协议(protocol)中的

Self 要求协议(protocol)的一致性使用他们自己的类型。因此,当您在类扩展中符合 this 时,需要将方法的返回类型中的 Self 更改为 NameData

extension NameData: NSItemProviderReading {
static func object(withItemProviderData data: Data, typeIdentifier: String) throws -> NameData {
return NameData(name: "Test")
}
}

还有一件事,您需要使您的 NameData 类成为 final

关于swift - 符合返回 "Self"的静态函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45844996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com