iOS持久存储选项

iOS持久存储选项,ios,objective-c,sqlite,core-data,Ios,Objective C,Sqlite,Core Data,我想征求社区的建议。 我的iOS应用程序中需要一个持久存储。 我考虑过核心数据和SQLite,但由于以下原因,两者都不理想 核心数据: 无法对某些对象关系建模,例如对象A与NSString具有一对多关系 //增加: 无法将字典(或映射)建模为一对一关系的属性。i、 e.对象A与对象B有一对一的关系(对象B的行为类似于字典) SQLite: 架构管理的界面很差 对于架构版本之间的数据迁移,没有干净、优雅的解决方案 //增加: 无法将字典(或映射)建模为一对一关系的属性。i、 e.对象

我想征求社区的建议。 我的iOS应用程序中需要一个持久存储。 我考虑过核心数据和SQLite,但由于以下原因,两者都不理想

核心数据:

  • 无法对某些对象关系建模,例如对象A与NSString具有一对多关系
//增加:

  • 无法将字典(或映射)建模为一对一关系的属性。i、 e.对象A与对象B有一对一的关系(对象B的行为类似于字典)
SQLite:

  • 架构管理的界面很差
  • 对于架构版本之间的数据迁移,没有干净、优雅的解决方案
//增加:

  • 无法将字典(或映射)建模为一对一关系的属性。i、 e.对象A与对象B有一对一的关系(对象B的行为类似于字典)

持久存储必须能够支持搜索。如果有人能提出解决问题的方法,那也会有帮助。

根据您有限的描述,核心数据可以正常工作。核心数据可以轻松处理一对多关系。无论您使用什么技术,您仍然需要表到表(SQLite)或对象到对象(核心数据)的关系。没有任何东西可以为您提供对象到字符串的关系


您可以对对象B执行对象A到对象B的操作,其中对象B只有一个恰好是字符串的属性。

CoreData 1:many:谢谢您的建议,我认为它可以工作。我刚刚想到了需要支持的其他需求,并添加了它们。感谢您对它们的投入