在iPhone/iPad的商业应用开发中,用SQLite数据库存储结构化的数据无疑是大多数开发人员的首选。但SQLite原生的CAPI对于习惯使用Java或是.NET的开发人员来说是比较难掌握的,也
在iPhone/iPad的商业应用开发中,用SQLite数据库存储结构化的数据无疑是大多数开发人员的首选。但SQLite原生的C API对于习惯使用Java或是.NET的开发人员来说是比较难掌握的,也会增加以后应用程序维护(包括数据结构的变化,数据的迁移等)的成本。为了简化SQLite的使用,苹果公司在Mac/iOS开发框架中提供了一个非常重要的功能,这就是Core Data, 它的作用就象Java平台中的ORM工具一样,可以通过包装好的对象体系来大幅简化数据存取功能的开发工作。
实际上,Core Data作为一个框架,可以将数据存储为XML,二进制文件或SQLite文件,甚至开发者也可以通过继承NSPersistentStore类以创建自定义的存储格式。每种方法都有其优缺点,例如XML的可读性,SQLite的节约空间等。在Core Data中,只能使用一个语法类似SQL子集的查询语言,称为Predicate来查询数据。
Core Data是标准化的,可以自由的读写Xcode数据模型文件(通常是.xcdatamodel文件)。与EOF不同,Core Data目前没有设计多用户或多线程访问模式。模型迁移通常也需要代码,若其它开发者依赖于某个数据模型,则该数据模型的设计者可能在模型发生改变时需要与新数据模型一起提供版本转换代码。
本站技术原创栏目文章均为中睿原创或编译,转载请注明:文章来自中睿,本站保留追究责任的权利。