当我尝试这样实现我的协议:
protocol Serialization {
func init(key keyValue: String, jsonValue: String)
}
我收到一个错误提示:在函数声明中期望标识符。
我为什么会收到这个错误?
当我尝试这样实现我的协议:
protocol Serialization {
func init(key keyValue: String, jsonValue: String)
}
我收到一个错误提示:在函数声明中期望标识符。
我为什么会收到这个错误?
init
前加上func
:protocol Serialization {
init(key keyValue: String, jsonValue: String)
}
重点:
init
方法前加上关键字 func
。init
方法,因此现在需要在 init
方法前加上关键字 required
。这表示您遵循的协议要求您具有该 init
方法(即使您可能独立考虑到这是一个好主意)。正如其他人所介绍的,您的协议应该像这样:
protocol Serialization {
init(key keyValue: String, jsonValue: String)
}
例如,符合该协议的类可能如下所示:
class Person: Serialization {
required init(key keyValue: String, jsonValue: String) {
// your logic here
}
}
注意在init
方法前面有required关键字。
init
之前有func
关键字。去掉它然后再试一次。 - Windor CNSCoding
。 - newacct