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

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

最佳答案

这里你使用了kay as

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

这里你用了...

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

将其更改为......

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

关于ios - 我无法加载存储在我的文档目录中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31676233/

相关文章:

ios - 在 Swift 中使用 Hello World 程序的“NSInvalidArgumentException”

ios - Swift 中类型的静态属性

objective-c - 初始化单例的不同方式

Plist 文件中的 iPhone UIColor

iphone - iOS 项目更新 Xcode 4.2 到 Xcode 4.5

ios - 如何使用台风快速注入(inject)委托(delegate)?

ios - 在分段控制中使用未解析的标识符

ios - Google Maps iOS 街景 URL 方案不起作用?

ios - 使用相同的 UIImage 绘制多个 UIImageView

ios - 更改 UISearchBar 的字体大小