【发布时间】:2014-11-10 00:03:09
【问题描述】:
我刚回来为我在 8 月开始为 iO 开发 Swift 应用程序。似乎发生了很多变化。现在我的 NSCoding 协议不再有效,我找不到问题所在。实际上我有,但我不知道如何用新协议实现我的旧代码。这是我的老init(coder: NSCoder):
required init(coder: NSCoder!) {
if (coder != nil) {
//Variables initialization
}
else {
//Defaults values
}
super.init()
}
实际上,我不能再使用NSCoder!,所以我无法检查是否有编码器,所以我是否必须设置默认值。问题是:当 coder 为 nil 时,调用什么初始化程序?是 init 还是 init(coder: NSCoder!) ?如果是第二个,我该怎么做(使用上面的代码)?
【问题讨论】: