当我终止应用程序时,我的数据已成功保存在文档目录中,但当我再次启动应用程序时,数据不可见。这是其保存和加载数据的代码。
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()
}
}
}
}
答案 0 :(得分:1)
在这里你使用了凯伊作为
archiver.encodeObject(items, forKey: "Checklists")
这里你用过......
unarchiver.decodeObjectForKey("ChecklistsItems") as? [ChecklistItem]
将其更改为....
unarchiver.decodeObjectForKey("Checklists") as? [ChecklistItem]