我的代码非常简单。
我的协议:
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
}
我在第一行读到编译错误"访问协议类型值BaseEntity.Type的成员未实现"
据我所知,这在Swift中是可行的。
答案 0 :(得分:0)
我也遇到过这个!这意味着Swift编程语言不支持协议内部的类方法。对此的解决方法似乎取决于具体情况,并且没有"你应该这样做而不是#34;。如果有人有更好的解决方案,请分享!
类变量也是如此,但有hacky workaround for that.