我在过去5个月左右的时间里一直在进行iPhone开发,并且一直在使用Gus Mueller的FMDB进行数据库交互.我的下一个项目将同时拥有Mac和iPhone应用程序,他们将在它们之间共享数据,尽管最终,iPhone将主要是一个查看器应用程序,具有一些小的编辑功能.
我的问题是:在Mac上,Core Data能让我的生活变得轻松,使用Mac上的Core Data和iPhone上的FMDB编写我的数据模型两次是值得的吗?或者我应该只使用FMDB,以便我可以为Mac和iPhone重复使用相同的代码?
我对Core Data略有启发,但并不多(主要是Hillegas书中的例子),所以任何支持Core Data的具体例子都会受到高度赞赏.为了记录,我真的很喜欢FMDB,我只是想知道在这种情况下Core Data会让我的生活更轻松.
编辑:我理解FMDB和核心数据之间的核心差异,我主要是想知道Core Data提供的"免费"是否值得对我的数据模型进行两次编码.
主要区别在于FMDB是SQLite的Obj-C包装器,而CoreData是碰巧在SQLite中存储数据的对象模型(您不是在编辑数据库而是编辑对象).这意味着它的级别更高,并提供更多抽象,但如果你知道你在使用数据库做什么,那么你应该没问题.就个人而言,我错误地分享代码,因为它可以减少错误,更容易开发和更快的发布.