Я пытаюсь сохранить и загрузить объект из постоянного хранилища в Xcode 8.0 с помощью Swift.
Я следил за Начало разработки приложений для iOS (Swift): прямо сейчас учебник от Apple, и у него была такая же проблема с целочисленным значением звездного рейтинга.
Это «обрезанная» версия моего класса «Расходы», чтобы показать переменную «сумма», с которой у меня возникли проблемы:
class Expense: NSObject, NSCoding {
var amount: Double
static let DocumentsDirectory = FileManager().urls(for: .documentDirectory, in: .userDomainMask).first!
static let ArchiveURL = DocumentsDirectory.appendingPathComponent("expenses")
struct PropertyKey {
static let amountKey = "amount"
}
func encode(with aCoder: NSCoder) {
aCoder.encode(amount, forKey:PropertyKey.amountKey)
}
required convenience init?(coder aDecoder: NSCoder) {
let amount = aDecoder.decodeObject(forKey: PropertyKey.amountKey) as! Double
self.init(date: date, amount: amount, description: description, image: image)
}
}
Когда я запускаю симулятор, и он пытается загрузить «сумму», я получаю следующее исключение: «фатальная ошибка: неожиданно найден ноль при развертывании необязательного значения». Я очень новичок в Swift и xCode, и я действительно не знаю, как это исправить.
required convenience init?(coder aDecoder: NSCoder) {
? - person Bista   schedule 06.10.2016