苹果的 CoreData

来源:互联网 发布:万能看图王pdf 软件 编辑:程序博客网 时间:2024/05/17 09:25

1 首先我们要清楚CoreData是什么

   CoreData并不是数据库,它只是管理数据库的工具 CoreData是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象。在此数据操作期间,我们不需要编写任何SQL语句,这个有点类似于著名的Hibernate持久化框架,不过功能肯定是没有Hibernate强大的;

2 我们为什么要用CoreData呢

  其实原因很多,但是最简单的一条就是:它能让你为你的Model层写的代码的行数减少为原来的50%~70%;而且,

 Core Data拥有成熟的代码,这些代码通过单元测试来保证品质。通过了几个版本的发布,已经被高度优化。 它能利用Model层的信息和运行时的特性,而不通过程序层的代码实现。 除了提供强大的安全支持和错误处理外,它还提供了最优的内存扩展性,可实现有竞争力的解决方案。不使用Core Data的话,你需要花很长时间来起草自己的方案,解决各种问题,这样做效率不高。coreData主要是iOS对sqlite数据库的封装。coreData有对象-关系的映射的功能,能把OC的对象存储成数据库或xml等如果数据存储使用的是coreData,那么读取时可以不使用SQL语句。coreData  类似于 我们之前使用的FMDB

3  常见的误解

 

 1) Core Data不是一个关系型数据库,也不是关系型数据库管理系统(RDBMS)。
Core Data 为数据变更管理、对象存储、对象读取恢复的功能提供了支持。 它可以使用SQLite作为持久化存储的类型。 它本身并不是一个数据库(这点很重要,比如,你可以使用Core Data来记录数据变更,管理数据,但并不能用它向文件内存储数据)。

  2)
它并不能取代你写代码的工作。虽然可以纯粹使用XCode的数据建模工具和Interface Builder来编写复杂程序,但在更多的程序中,你都自己动手写代码。


4通过简单的描述,我们实现一个最基本的功能,就是差 创建一个sqlite数据库存在本地沙盒中,点击按钮我们能够添加对象

(1)导入库

CoreData.framework  


(2) 创建数据模型文件:

.创建数据模型文件-》new file->core Data--》选中Data Model,创建文件 (User.xcdatamodeld)在里面创建 数据模型实例Entity(UserModel)


a:
 
b;



2.创建跟数据模型文件关联的数据模型类new file->core Data->选中 NSManagedObject of subclass --》关联上User.xcdatamodeld数据模型文件中的UserModel 实例


a: 


b 此时我们可以给我们的数据模型的文件改名字(这一步在第1步也可以完成)

 


c:  



d: 


e :此时工程中会自动生成两个文件:



到这一步,我们的初始化工作就完成啦,下一遍我们就处理代码部分;(这一篇鄙人感觉图片太多,所以,我们在下一篇继续探讨)
0 0
原创粉丝点击