我无法加载存储在我的文档目录中的数据

时间:2015-07-28 12:23:35

标签: ios iphone swift ios9

当我终止应用程序时,我的数据已成功保存在文档目录中,但当我再次启动应用程序时,数据不可见。这是其保存和加载数据的代码。

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()
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

在这里你使用了凯伊作为

 archiver.encodeObject(items, forKey: "Checklists")

这里你用过......

unarchiver.decodeObjectForKey("ChecklistsItems") as? [ChecklistItem]

将其更改为....

unarchiver.decodeObjectForKey("Checklists") as? [ChecklistItem]