我一直在考虑使用字典和数组等来保存数据。使用数据库并且只是读取和写入数据而不是通过数组运行,获取密钥和值,这不是更有效吗?等等?它需要包含很多文本。
如何在iphone上设置和使用数据库?
另外,如果在应用程序运行时期间写入数据库,它会存储吗?我的意思是不需要序列化等等?
答案 0 :(得分:5)
Apple iPhone开发者网站上有一个关于实现Core Data的信息 lot ,这是用于在关系数据库中存储内容的框架。与this introduction一样。
事实上,关于它的堆栈溢出还有大量信息。如果您遇到特定问题,我建议您阅读标有core data的问题。
但是,我不确定您认为核心数据比序列化NSObject更快是正确的。学习核心数据的工作方式需要花费很多时间。字典和数组的序列化只需要您学习几种方法。我想,这实际上取决于您的应用程序的需求。更多信息将非常有用。
更多链接:Serialization to plist files(仅限NSArray和NSDictionary)或keyed archiving(用于自定义NSObject子类)。
答案 1 :(得分:4)
您可以使用默认情况下使用sqlite存储的核心数据(您可以轻松更改)。
如果你加载xcode有一个示例项目,你可以检查使用核心数据,以便所有管道都到位。然后打开.xcdatamodel文件,您可以使用它来设计要保留的对象。
答案 2 :(得分:1)
了解核心数据。
如果你想要更低级别,那就是SQLite。
答案 3 :(得分:1)
如果要处理大量数据,请查看Core Data以了解所有关系对象的存储和检索需求。 NSPredicate可以轻松搜索并找到您要查找的内容。
您可以使用SQlite,但Apple在将Core Data与iPhone UI工具包集成方面做了大量工作,这可以为您节省大量的开发时间。
答案 4 :(得分:1)
您可以使用他们的数据库,SQLite。该文档非常适合。
但我更喜欢使用Web服务和外部数据库。这取决于您的应用程序。但是如果用户更换手机而你正在使用手机数据库SQLite,那就没有更多的数据了......就像我说的那样,这只是需要考虑的事情,这取决于你的应用程序!
答案 5 :(得分:1)
iPhone中有两种主要的数据持久性方法。一个是CoreData,它是一个持久层,为您完成大部分序列化,另一个是SQLite数据库,您需要为自己做更多的序列化。
查看this question及相关问题,了解两种技术的优缺点。