Saving Array mit NSUserDefaults stürzt App

Ich habe das Gefühl, dass ich die Dinge richtig mache, aber am Ende meiner Datenkonvertierung und des Abrufs wird ein Fehler angezeigt. Bitte beachten Sie den folgenden Code:

class Task:NSObject, NSCoding {
        var name:String
        var notes:String
        var date:NSDate
        var taskCompleted:Bool

        init(name:String, notes:String,date:NSDate, taskCompleted:Bool){
            self.name = name
            self.notes = notes
            self.date = date
            self.taskCompleted = taskCompleted
        }

        required init(coder decoder: NSCoder){
            self.name = (decoder.decodeObjectForKey("name") as! String?)!
            self.notes = (decoder.decodeObjectForKey("notes") as! String?)!
            self.date = (decoder.decodeObjectForKey("date") as! NSDate?)!
            self.taskCompleted = (decoder.decodeObjectForKey("taskCompleted") as! Bool?)!
        }

        func encodeWithCoder(coder: NSCoder) {
            coder.encodeObject(self.name, forKey: "name")
            coder.encodeObject(self.notes, forKey: "notes")
            coder.encodeObject(self.date, forKey: "date")
            coder.encodeObject(self.taskCompleted, forKey: "taskCompleted")
        }
    }

Ich speichere dann und erhalte die Daten wie folgt:

let nowData = NSKeyedArchiver.archivedDataWithRootObject([nowTasks])
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(nowData, forKey: "nowData")

let loadedData = defaults.dataForKey("nowData")
let loadedArray = NSKeyedUnarchiver.unarchiveObjectWithData(loadedData!) as! [Task]

Wenn ich anrufeprint(loadedArray.first) Ich erhalte den Fehler:NSArray-Element konnte nicht mit dem Swift Array-Elementtyp übereinstimmen

Antworten auf die Frage(2)

Ihre Antwort auf die Frage