Я использую руководство Apple для быстрого сохранения данных, но когда я пытаюсь скомпилировать его, он говорит мне, что это не соответствует. На основе руководства Apple и другого кода это должно быть.Класс не соответствует протоколу NSCoding
// MARK: NSCoding
func encodeWithCoder(aCoder: NSCoder) {
aCoder.encodeObject(firstName, forKey: "firstName")
aCoder.encodeObject(lastName, forKey: "lastName")
aCoder.encodeObject(phoneNumber, forKey: "phoneNumber")
aCoder.encodeObject(email, forKey: "email")
aCoder.encodeObject(address, forKey: "address")
}
required convenience init?(coder aDecoder: NSCoder) {
firstName = aDecoder.decodeObjectForKey("firstName") as! String
lastName = aDecoder.decodeObjectForKey("lastName") as! String
phoneNumber = aDecoder.decodeObjectForKey("phoneNumber") as! String
email = aDecoder.decodeObjectForKey("email") as! String
address = aDecoder.decodeObjectForKey("addressq") as! String
self.init(phoneNumber: phoneNumber, firstName: firstName, lastName: lastName, email: email, address: address)
}
Так что я просто не уверен, почему это не соответствует, когда я могу запустить программу Apple в порядке.
EDIT: Таким образом, проблема заключается в том, что у меня не было класса, унаследованного от NSObject. Это решило проблему.
Можете ли вы показать вашу 'линию class' определения? – Paulw11