当我终止该应用程序时,我的数据已成功保存在文档目录中,但是当我再次启动该应用程序时,该数据不可见。此处是其保存和加载数据的代码。
func saveChecklistItems()
{
let data = NSMutableData()
let archiver = NSKeyedArchiver(forWritingWithMutableData: data)
archiver.encodeObject(items, forKey: "Checklists")
archiver.finishEncoding()
data.writeToFile(dataFilePath(), atomically: true)
}
func loadChecklistItems()
{
let path = dataFilePath()
if NSFileManager.defaultManager().fileExistsAtPath(path)
{
if let data = NSData(contentsOfFile: path)
{
let unarchiver = NSKeyedUnarchiver(forReadingWithData:data)
if let checklistItems = unarchiver.decodeObjectForKey("ChecklistsItems") as? [ChecklistItem]
{
items = checklistItems
}
else
{
unarchiver.finishDecoding()
}
}
}
}
最佳答案
在这里,您将kay用作
archiver.encodeObject(items, forKey: "Checklists")
在这里你曾经用作...
unarchiver.decodeObjectForKey("ChecklistsItems") as? [ChecklistItem]
将其更改为...。
unarchiver.decodeObjectForKey("Checklists") as? [ChecklistItem]