问题很简单。我知道有SQLite。还有核心数据。但我需要介于两者之间。比SQLite API更面向对象,比Core Data更简单。
要点是:
我可以使用对象归档,但我必须实现(NSArchiver)。
但是我想写一些类并自动获得持久性。因为它可以用Hibernate / ActiveRecord / Core Data /等完成。
感谢。
答案 0 :(得分:2)
您在此处所说的所有内容都与Core Data完全兼容。 Apple正在为您提供完全符合您所述需求的解决方案,那么您为什么要避免它呢?
答案 1 :(得分:1)
超越BNRPersistence,Alex指出,我认为你不会找到任何维护对象关系的东西,但比Cocoa平台上的Core Data更简单。像FMDB这样的SQLite对象包装器仍然需要您在自己的代码中管理关系。
维护对象之间的关系是一项非常重要的任务,这就是为什么你看到这些框架很少的原因。核心数据适用于许多人,因此开发人员没有太多动力去构建Apple解决方案的替代品。 BNRPersistence是由Aaron Hillegass长期以来对Core Data的某些方面感到沮丧而创建的,但很多人(像我一样)对Core Data的工作方式非常满意。
您可能还想查看Core Resource,这是一个较新的框架,它提供了一些围绕Core Data的包装器,使常见任务更容易。
答案 2 :(得分:1)
您可能会考虑使用非Objective-C方法来序列化对象,就像XML或JSON一样,如果您不想这样做,则不必编写序列化代码,因为框架会为您完成。例如,将对象放入键值属性,与NSDictionary
(通过包装类或其他)配对,指向另一个记录的id
键,然后使用json-framework编码混乱的JSONRepresentation
电话。您可能需要进行自己的关系完整性测试,但是,即时关系数据库。
答案 3 :(得分:0)