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 次 |
| 最近记录: |