问题很简单。我知道有sqlite。也有核心数据。但是我需要介于两者之间。比sqlite API更面向对象,比核心数据更简单。

要点是:

  • 我需要仅通过ID访问存储的实体。无需查询。
  • 我需要存储一种类型的项目,这意味着如果我选择sqlite,我只能使用一个表。
  • 我想要自动的对象相关转换。或对象存储,如果存储不相关。

我可以使用对象归档,但是我必须实现事物(nsarchiver)。

但是我想编写某种类并自动获得持久性。可以使用Hibernate/activerecord/Core Data/等来完成。

谢谢。

有帮助吗?

解决方案

超过 Bnrsteristence, ,亚历克斯(Alex)指出,我认为您不会找到任何维护对象关系的东西,但比可可平台上的核心数据更简单。 Sqlite周围的对象包装器 FMDB 仍然需要您在自己的代码中管理关系。

维持对象之间的关系是一项非平凡的任务,这就是为什么您看到这些框架中的很少的原因。核心数据适合许多人,因此开发人员之间没有太多动力来建立苹果解决方案的替代方案。 Bnrpersistence是由Aaron Hillegass对核心数据的某些方面的长期感到沮丧而产生的,但是许多人(像我这样)对Core Data的执行方式完全满意。

您可能还想看看 核心资源, ,一个较新的框架,可为核心数据提供一些包装器,以使常见任务更加容易。

其他提示

您所说的您想要的一切都与核心数据完全兼容。苹果为您提供了满足您所陈述的需求的解决方案,那么您为什么要避免它呢?

您可以考虑一种非目标-C序列化对象的方法,就像XML或JSON一样,如果您不想,则不必编写序列化代码,因为该框架为您提供了。例如,将您的对象与键值属性配对中 NSDictionary (通过包装班或其他任何内容)指向另一唱片的 id 键,然后与 JSON-FRAMEWORK' JSONRepresentation 称呼。您可能需要进行自己的关系完整性测试,但是请瞧,即即时关系数据库。

看一眼 BNRPersistence.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top