0
我在學習NSUserDefaults,我有一個實例化名和姓的人。NSUserDefaults初始化程序
class Person: NSObject, NSCoding {
var firstName: String!
var lastName: String!
init(first:String, last:String) {
firstName = first
lastName = last
}
override init() {
}
required convenience init?(coder aDecoder: NSCoder) {
self.init()
self.firstName = aDecoder.decodeObjectForKey("firstName") as? String
self.lastName = aDecoder.decodeObjectForKey("lastName") as? String
}
func encodeWithCoder(aCoder: NSCoder) {
aCoder.encodeObject(self.firstName, forKey: "firstName")
aCoder.encodeObject(self.lastName, forKey: "lastName")
}
}
我想知道爲什麼我必須重寫我的初始化初始化初始化名稱與空初始化的第一個初始化?
此外,究竟什麼是「必需的便利」初始值設定項?
謝謝
請閱讀[斯威夫特編程語言指南(https://developer.apple.com/library /ios/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html)。 –
http://www.codingexplorer.com/designated-initializers-convenience-initializers-swift/ –