【发布时间】:2016-02-25 17:11:24
【问题描述】:
我正在重写我的应用程序以结合 SceneKit 来显示分子。我大约 60% 的代码专门用于将这些分子创建为存储在字典中的 SCNNode 数组。另外 20% 的人创建了一个 String 字典用于文本显示。理想情况下,这些字典只需要创建一次。
目前,我在我的主要(和初始)VC 中通过来自viewDidLoad 的调用来创建这些字典。然后我将字典存档:
NSKeyedArchiver.archiveRootObject(moleculeDictionary, toFile: filePath)
然后我将存档的字典读回到应用程序使用的本地字典中:
moleculeDictionary = Molecules.readFile() as! [String: [SCNNode]]
// and in Molecules, the readFile() function:
let dictionary = NSKeyedUnarchiver.unarchiveObjectWithFile(filePath) as? NSDictionary ?? NSDictionary()
return dictionary
我从存档中读取它以防本地版本不再存在。我仍然需要检查字典是否存在。
我的问题:这是最好的方法吗?当然,这是许多程序的共同方面。我倾向于在开发过程中使用这些字典创建永久文件,并将它们包含在随附的捆绑包中。但是没有人回应我在这方面的帖子,所以我认为每个人都以其他方式做这件事。我祈祷我不必了解 CoreData,但如果是的话,请告诉我。
【问题讨论】:
标签: swift scenekit saving-data