CoreData 简介
来源:互联网 发布:投标书制作软件 编辑:程序博客网 时间:2024/09/21 08:55
CoreData 简介
一.初步介绍
在cocoa环境下,如果你想使用数据库(如sqlite),你可以使用sql语句的方式通过相关的工具类进行数据库的直接操作。当然你也可以通过别人封装之后的一些简单框架,使得你的操作更加简单(如FMDB BNRPersistence)。
Cocoa框架本身提供了CoreData这个API可方便的让开发者通过操作对象的方式在操作数据库。也许很多初步了解CoreData的人会认为这不就是一个ORM框架嘛。但是实际上CoreData还是有别于传统的ORM框架的。
准确的说CoreData是一个对象图(object graph)以及持久化的管理框架。我们可以通过CoreData创对象,设置好象之间的关系,然后将其持久化(我们甚至可以使用内存数据库),或者从硬盘上将持久化后的数据加载到内存中。对象图,我们可以创建一个个的对象,并维持不同对象之间的关系,一对一,一对多等。至于持久化,我们可以设置持久化数据保存的类型,可以是XML,二进制的或者sqlite数据库,当然你可以自定义自己的存储类型。
CoreData有大量的特性,诸如支持Redo,Undo的功能,这些很多Document based的程序中显得非常的有用。提供数据model结构变化轻量级的迁移方案。
CoreData还通过Binding特性和控件的紧密结合,这样使得只需要少量的代码便可以完成强大的功能,下面是一个例子
http://www.timisted.net/blog/archive/multiple-windows-with-core-data/
二.重要组件
当我们新建一个支持CoreData特性的项目的时候,应用的delegate类中已经自动生成了一些CoreData需要用到的关键组建。
2
3
NSManagedObjectModel *managedObjectModel;
NSManagedObjectContext *managedObjectContext;
下图很好的阐述了这几个组件之间的关系,
- managedObjectModel用来维护系统中的Model(也就是你通过Xcode工具建立的数据模型),将Model加载到内存,model主要描述数据实体对象有那些属性阿,以及model之间的关联关系阿,model和数据库中的表结构有一定的对应关系。
- persistentStoreCoordinator,管理数据的存储位置,和存储的方式(sqlite,xml…)
- managedObjectContext关联着一个persistentStoreCoordinator,managedObjectContext代表着ManagedObject的对象空间,我们可以把它看作managedObject的缓存区,在这个区域中,维护着大量的在内存中的managed object,我们可以对这些managed object进行修改,删除,或者增加新的managed object,并且可以将他们进行持久化操作。
所以我们在编码的时候接触得比较多的还是managedObjectContext和managedObject这两种对象。managedObject就相当于根据相应的Model模板生成的一个对象实体。
- CoreData 简介
- CoreData 简介
- CoreData简介
- CoreData简介
- CoreData简介
- coreData的简介
- CoreData入门简介
- 01-CoreData简介
- CoreData并发操作模式简介
- CoreData 框架简介(一)
- iOS CoreData的使用和简介
- iOS持久化存储-CoreData简介
- iOS持久化存储-CoreData简介
- Xcode8后coreData的使用简介
- CoreData
- CoreData
- CoreData
- CoreData
- 高效获取网页源码
- Lucene入门之--运行Lucene-demo
- 写一个在程序中创建dts包,实现数据用dts导入到sql的类
- CentOS下Samba服务器的构建
- 项目管理学习笔记二:信息系统服务管理
- CoreData 简介
- FLASH游戏开发CPU优化11条
- 日期时间格式
- 程序员:提高编程效率的技巧
- 安装升级Exchange Server 2010 SP1补丁
- 《精通Javascript+jQuery》视频教程
- 有关网游编程的一些问答
- Android游戏引擎《Rokon》
- 设计模式 - Provider Pattern(提供者模式)