Core Dat

CoreData:

你可以使用在你的程序中使用Core Data来管理modle object(M in MVC)。Core Data是一个object-graph management和pers。istence framework.同时:

  • 允许你高效地从persistent store中获取model objects,同时save changes到store.
  • 为追踪model object的changes提供基础设施。提供自动支持 redo和undo,维持objects之间的reciprocal relationships。
  • 允许你维持model object 不相交的修改。不相交的修改是十分有用的,举个例子,允许用户进行编辑,一个视图可能被丢弃而不影响数据显示在另一个视图中。
  • 让你保持你的模型对象在内存中只有一个子集在任何给定的时间,这是用于保持应用程序的内存占用尽可能低。
  • 有一个数据存储基础设施版本管理和迁移。这个基础设施允许您轻松地数据文件的旧版本升级到当前版本。

为了支持此功能,Core Data使用一个模式称为管理对象模型,该模型描述了在应用程序中实体。


Core Data stack:

'



Managed Object:

一个managed object 是MVC中的M,代表了持久化存储中的一条记录。

一个managed object 是NSManagedObject的一个实例,或者是NSManagedObject的一个子类。

一个managed object 通过一个managed object context 注册。在任何给定的context中,这儿至少有一个代表持久化存储中一条记录的Managed object实例。


一个managed object 有一个指向Entity description object的引用,用来指明这个object代表哪个entity。

这样子的话,一个NSManagedObject就能够代表任何实体,你就不需要为每一个实体声明一个特殊的子类了。

你如果想完成一些自定义的动作,那可以使用一个subclass,就个栗子, to calculate a derived property value, or to implement validation logic


Managed Object context:

在一个Core Data程序之中,一个managed object context 代表一个简单的对象空间 或者是 scratch pad.一个managed object context是一个NSManagedObjectContext的一个实例。它就基础的职责就是管理managed object集合.

从你的观点上来看,这个context在Core Data stack中是一个核心的对象。通过这个对象,你能够create 和fetch managed objects,并且来管理redo和undo操作。对于一个给定的context,肯定至少有一个managed object来代表一个persistent store中的任意一条记录。



Persistent store coordinator:

一个persistent store coordinator 联系persistent object stores和 a managed object model,


Fetch request:

一个Fetch Request告诉managed object context 你想要fetch的managed object 实体;随意的,他也指明了object 的properties 的constraints 和 你想要object返回的order。

一个Fetch Request 是一个NSFetchRequest的实例。

你通过个managed object context 发送一条信息来execute 一个fetch request。context会返回一个包含符合查询的object array。


Persistent store:

Persistent store就是用来存储managed objects的仓库。

Core Data提供3种最原始的数据存储格式,binary、XML]SQLite。如果你想Core Data去与特殊格式的file或server交互的话,你可以实现自己的存储防方式。

Core Data同时也提供比process生命周期低的 in-memory store。

store中的entities是创建它的managed object所定义的。如果你改变了你的程序中的model,你就不能打开你的原始model所创建的任何store。所以你必须改变store

的内容到新的format上。


Managed object model:

a managed object modle 是一组 你程序中使用的共同形成一个蓝图描述managed object 。一个model 允许Core Data map persistent store中的records 至managed objects。

它是entity description objects 的一个集合(NSEntityDescription的一些实例)。

一个entity description 用来描述一个实体(如同db里的一张table)项目里的name,the name of the class used to represent the ,and what properties(attributes and relationships) it has.


Persistent object store:

一个persistent object store store 你程序中的objects和persistent store的records之间的maps。


Mapping model:

A Core Data mapping model 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值