I am trying to store and load an object from persistent storage in Xcode 8.0 using Swift.
I have followed the Start Developing iOS Apps (Swift): Jump Right In tutorial from Apple and had the same problem with the integer value for the star-rating.
This is a "cropped" version of my class 'Expense' to show the 'amount' variable which I'm having trouble with:
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)
}
}
When i run the simulator and it tries to load in the 'amount' i get the following exception: "fatal error: unexpectedly found nil while unwrapping an Optional value". I am very new to Swift and xCode and I don't really know how to fix this.