gpt4 book ai didi

swift - 无法在符合协议(protocol)的类上调用类型方法

转载 作者:搜寻专家 更新时间:2023-10-31 08:08:51 24 4
gpt4 key购买 nike

我的代码非常简单。

我的协议(protocol):

protocol BaseEntity
{
class func getInstance(sourceObject: [NSObject : AnyObject], context: AnyObject!) -> BaseEntity
init()
}

然后在另一个类中我有这个方法:

private func convertJSONDictionaryIntoModel(jsonDictionary : [NSObject : AnyObject], mapClass: BaseEntity.Type) -> BaseEntity
{
let object = mapClass.getInstance(jsonDictionary, context: nil)

return object
}

第一行出现编译器错误,内容为“访问协议(protocol)类型值 BaseEntity.Type 的成员未实现”

据我所知,这在 Swift 中是可能的。

最佳答案

我也遇到了!这意味着 Swift 编程语言还不支持协议(protocol)内部的类方法……。解决方法似乎取决于具体情况,并且没有“你应该这样做”。如果有人有更好的解决方案,请分享!

这也是类变量的情况,但是有一个 hacky workaround for that.

关于swift - 无法在符合协议(protocol)的类上调用类型方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27328992/

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