coredata学习总结(一)
来源:互联网 发布:matlab迭代算法程序 编辑:程序博客网 时间:2024/05/23 15:58
What Is Core Data?
Core data是一种应用程序管理model层对象的框架。他提供了和对象生命周期和对象图形管理以及持久化有关的通用和自动的解决方案
Creating a Managed Object Model
core data的大部分功能都来源于你为其设定的实体,实体属性,和实体之间的关系。core data使用名为managed object model的模式-NSManagedObjectModel
的实例。总体来说,这个model越丰富,core data能支持的功能就越好。
一个managed object model允许core data来将持久化存储数据映射为应用程序中使用的managed objects.这个model是一系列的NSEntityDescription
实体描述对象集合。一个entity description按照实体的名字来描述了一个实体(你可以想象成数据库中的一张表)。类名用来代表应用程序中的实体,和其拥有的属性和关系。
Creating an Entity and Its Properties
创建项目时勾选Use Core Data选项,那么就会创建Core Data model的源文件作为模版的一部分。这个源文件后缀为.xcdatamodeld。选择后即可看到Core Data model编辑器。
To create an entity
点击Add Entity。
一个未命名的新的entity就会出现在实体列表中。
选择这个新创建的entity。
输入entity名称保存返回。
To create attributes and relationships for the entity
选择新创建的实体,长点击底部的加号。
一个新的未命名属性或者关系就可以通过弹出的相应选项来添加上了。
选择新的未命名属性。
给予属性名称并点击return。
Figure 2-2 展示了一个名为Employee的实体,和用来描述Employee的属性:date of birth, name, and start date.
Defining an Entity
现在你命名了新创建的实体,你还要爱data model inspector中进一步定义他。
Defining Attributes and Relationships
一个实体的属性包含他的属性和关系,包括他的fetched请求如果有的话。属性一般都有名字和类型。属性名字定义要注意保留字,不能是任何nsobjec方法名称或者
transient属性是你给model定义的属性但是并不会做为entity实例数据的一部分作持久化处理。core data会跟踪临时属性的改变。使用临时属性的目的包括保留计算值和派生值。
Note
If you undo a change to a transient property that uses nonmodeled information, Core Data does not invoke your set accessor with the old value — it simply updates the snapshot information.
Attributes
optional意思是不需要有值,但是并不推荐这么用。就是说定义属性的时候要给值。
Relationships and Fetched Properties
To define a relationship, select it in the Core Data model editor, and specify values in the Relationship pane of the Data Model inspector.
Relationships are described in greater detail in Creating Managed Object Relationships.
core data支持对一和对多的关系以及fetched属性。fetched属性代表weak,one-way关系。在
和 链中,一个fetched属性可能是inverse选项提供了创建多个关系的方式。通常情况下创建关系都是单向的,这个选项可以将两个关系绑定一起来作为一个完整的关系。
- coredata学习总结(一)
- CoreData学习记录一
- CoreData 学习(一)
- 08-CoreData学习总结
- coredata学习总结(二)
- coredata学习总结(三)
- coredata学习总结(四)
- coredata学习总结(五)
- coredata学习总结(六)
- coredata学习总结(七)
- coredata学习总结(八)
- coredata学习总结(九)
- coredata学习总结(十)
- coredata学习总结(十一)
- coredata学习总结(十二)
- coredata学习总结(十三)
- coredata学习总结(十四)
- coredata学习总结(十五)
- 混合高斯模型(GMM)
- Kendo UI开发教程:Kendo DataSource概述
- 40岁不是管理层没技术,能在体制外混到退休吗?
- css3中变形和动画(三)
- java swing实现小球沿正弦曲线运动的代码
- coredata学习总结(一)
- SVN学习总结(3)——分支合并
- 解析XML-Dom4j
- OPENNI学习实践-openni基本结构
- (十一)React Native---与原生交互
- jquery dataTable属性
- Angular2.0实现的搜索框(重新按UX封装了样式)()
- Android开源框架Glide的使用
- RAD Studio, Delphi, C++Builder 10.1 Berlin 第四季优惠活动