我正在加载来自sqlite数据库的数据,将我从那里加载的值存储在自定义类的实例变量中,然后将此类添加到可变数组中,然后我将其分配给实例变量我的视图控制器,用于tableview。
但是,我希望将此数组保存到应用程序首次运行的文档目录中的.plist文件中,以便我可以在加载时从那里检索整个对象,而不是从数据库中提取所有214项
这种方法是更好的选择吗?如果是这样,有人可以帮我提供一些代码,允许我将自定义类的数组保存为.plist文件吗?我在网上看到了很多示例代码,但没有一个能正常工作。
我想:
谢谢你们,感谢你们给我的任何帮助。
答案 0 :(得分:3)
在启动时从数据库中获取值可能会更快。解析包含这些值的plist几乎肯定会花费更多的成本而不是从数据库中获取所有这些值,除非您必须使用从数据库中获取它们的查询非常慢。
另请注意,一旦将这些对象保存到磁盘上的plist中,您实际上会损害程序的性能,因为您将把对象写入磁盘两次并从磁盘读取两次。如果发生错误或崩溃,您还将在plist和数据库之间引入差异的机会。
也就是说,向自己证明这一点的唯一方法可能是实现和分析两个选项,并比较实际数字。查看上面的@ occulus链接,了解如何读取和写入plist的说明。要对您的应用进行个人定位,请尝试使用Instruments
答案 1 :(得分:0)
当我谷歌搜索“nsarray writetofile自定义对象”(没有引号)并点击结果中的第一个链接时,我找到了一个非常有用的页面。
为了记录,就是这样:
http://www.cocoabuilder.com/archive/cocoa/240775-saving-nsarray-of-custom-objects.html