这是我的代码
protocol sharedFunction {
func transformDictionary<Element>(postDictionary:[Element:Element], key: Element) -> Element
}
class newUser: sharedFunction {
var email:String?
var username:String?
var uid: String?
func transformDictionary(postDictionary: [String : Any], key: String) -> newUser {
}
}
但我继续收到此错误“Type newUser”不符合协议“”sharedFunction“
答案 0 :(得分:1)
将协议声明更改为
protocol sharedFunction {
func transformDictionary<Element>(postDictionary:[Element: Any], key: Element) -> Any
}
您没有在课堂上遵循您的协议声明。这就是错误的原因。
答案 1 :(得分:1)
发生错误只是因为您的类型不符合协议,因为消息明确指出。我会像这样重写你的代码:
protocol SharedFunction {
associatedtype Element: Hashable
func transformDictionary(postDictionary: [Element:Element], key: Element) -> Element
}
class NewUser: SharedFunction {
typealias Element = Int
var email: String?
var username: String?
var uid: String?
func transformDictionary(postDictionary: [Element : Element], key: Element) -> Element {
return 1
}
}
我没有想法这个代码的上下文是什么,所以我不知道我的代码是否对你有意义,但我认为你有了这个想法。