我试图通过执行以下代码在持久内存中保存一个简单的对象数组:
let fileManager=NSFileManager()
let urls = fileManager.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
if urls.count>0{
let localDocumentsDirectory=urls[0]
let archivePath=localDocumentsDirectory.URLByAppendingPathExtension("meditations.archive")
NSKeyedArchiver.archiveRootObject(self.meditationsArray, toFile: archivePath.path!)
let restored=NSKeyedUnarchiver.unarchiveObjectWithFile(archivePath.path!)
print("restored \(restored)")
}
}
然而,当我在代码中打印恢复的日期时,我发现 nil。
相反,如果我使用 CachesDirectory 数组很快就会恢复正常,
但是当我重新打开应用程序并尝试加载数据时,它就会丢失。持久保存数据的正确方法是什么?