Iphone 如何将自定义数组保存/重新加载到plist
我从sqlite数据库加载数据,将从那里加载的值存储在自定义类的实例变量中,然后将该类添加到可变数组中,然后将该数组分配给视图控制器的实例变量,以便在tableview中使用 不过,我希望在应用程序第一次运行时将此数组保存到documents目录中的.plist文件中,这样我就可以在加载时从那里检索整个对象,而不是从数据库中提取所有214项 这是一个更好的选择吗?如果是这样的话,有人能帮我提供一些代码,让我将自定义类的数组保存为.plist文件吗?我在网上遇到了很多示例代码,但没有一个是正确的 我想:Iphone 如何将自定义数组保存/重新加载到plist,iphone,cocoa-touch,ios,plist,Iphone,Cocoa Touch,Ios,Plist,我从sqlite数据库加载数据,将从那里加载的值存储在自定义类的实例变量中,然后将该类添加到可变数组中,然后将该数组分配给视图控制器的实例变量,以便在tableview中使用 不过,我希望在应用程序第一次运行时将此数组保存到documents目录中的.plist文件中,这样我就可以在加载时从那里检索整个对象,而不是从数据库中提取所有214项 这是一个更好的选择吗?如果是这样的话,有人能帮我提供一些代码,让我将自定义类的数组保存为.plist文件吗?我在网上遇到了很多示例代码,但没有一个是正确的
- 检查my_data.plist文件是否存在
- 如果它存在,则将其作为数组读入
- 如果没有,则将数据从sqlite db读取到数组中
- 将此数据保存到.plist,以便以后可以更快地读取
在启动时从数据库中获取值可能会更快。解析包含这些值的plist几乎肯定比从数据库中获取它们要花费更多的成本,除非从数据库中获取它们所使用的查询速度非常慢 还要注意的是,一旦将这些对象保存到磁盘上的plist,实际上会影响程序的性能,因为将对象写入磁盘两次,从磁盘读取对象两次。您还将介绍在发生错误或崩溃时plist和数据库之间出现差异的机会
也就是说,向自己证明这一点的唯一方法可能是实施和分析这两个选项,并比较实际数字。查看上面@occulus的链接,了解如何读取和写入plist。若要评测您的应用程序,请尝试使用,您运行的示例代码以何种方式不能正常工作?密码是什么?你运行它时发生了什么?谢谢,我将查看链接并测试它。谢谢,非常感谢。