Aar*_*her 55 protocols initialization swift swift-protocols
当我尝试以这种方式实现我的协议时:
protocol Serialization {
func init(key keyValue: String, jsonValue: String)
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误说:函数声明中的预期标识符.
为什么我收到此错误?
new*_*cct 94
是的你可以.但你永远不会放在func
前面init
:
protocol Serialization {
init(key keyValue: String, jsonValue: String)
}
Run Code Online (Sandbox Code Playgroud)
idS*_*tar 26
要点:
func
在init
方法前面有关键字.init
方法在您的协议中被调用,您现在需要在init
方法前面加上关键字required
.这表明您遵守的协议要求您使用此init
方法(即使您可能已经独立地认为这是一个好主意).如其他人所述,您的协议将如下所示:
protocol Serialization {
init(key keyValue: String, jsonValue: String)
}
Run Code Online (Sandbox Code Playgroud)
例如,符合此协议的类可能如下所示:
class Person: Serialization {
required init(key keyValue: String, jsonValue: String) {
// your logic here
}
}
Run Code Online (Sandbox Code Playgroud)
注意方法前面的必需关键字init
.
归档时间: |
|
查看次数: |
25073 次 |
最近记录: |