【发布时间】:2014-09-02 20:21:20
【问题描述】:
我想扩展一个框架类(我不想直接编辑源代码),并使其符合NSCoding。
基本上,这是对我所处情况的简化:
/* Can't be edited. */
class Car: NSObject {
var color: String?
}
/* Can be edited */
extension Car: NSCoding {
init(coder aDecoder: NSCoder) {
}
func encodeWithCoder(aCoder: NSCoder) {
}
}
问题是init(coder aDecoder: NSCoder) 根据头文件是designated initializer(这不是很奇怪吗?不应该是convenience initializer 吗?)。但是,documentation 表示扩展无法添加新的指定初始化程序。
我的英语不是很完美,也许我错过了什么……或者真的不可能吗?
【问题讨论】:
标签: swift nscoding designated-initializer