使用iOS应用程序中的数据(选择什么?NSData,CoreData,sqlite,PList,NSUserDefaults)

15 sqlite core-data objective-c plist nsuserdefaults

当我开发iPhone应用程序(时间跟踪器,ToDoList等)时,我永远不知道什么是处理数据的最佳方式.一旦我使用了plist,下次使用sqlite或CoreData.

您如何确定最适合您项目的内容?(只讨论数据管理)

例如,如果你想开发:

  • 时间跟踪器应用程序> PList是您的选择吗?
  • RSS阅读器应用> CoreData?
  • 照片应用> sqlite?
  • 电子邮件客户端>?

对于初学者,你能指点我正确的方向吗?(我知道这很大程度上取决于应用程序以及你喜欢用它做什么,但任何想法都会有所帮助)

我远没有开发复杂的应用程序,它们仍然非常简单.

谢谢你的帮助,马克

das*_*ght 27

您可以使用这些经验法则来确定哪种存储模型适用于您的应用.

  • 如果数据完全适合内存且相对非结构化,请使用plist
  • 如果数据完全适合内存并具有树状结构,请使用XML
  • 如果数据不适合内存且具有图形结构,并且应用程序不需要特殊的查询功能,请使用Core Data
  • 如果数据不适合内存,具有复杂的结构,或者应用程序受益于关系数据库提供的强大查询功能,请使用sqlite
  • 如果数据必须是保密的(例如密码),请使用钥匙串.

请注意,这些选项通常会重叠,因为多个存储模型将适合同一个应用.您的最终决定取决于您的个人偏好 - 您选择了一种您更了解的技术.

关于sqlite与 Stack Overflow上的Core Data有一个非常好的问题,你可能想要阅读这个问题的答案.