- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
认识CoreData-基础使用
创建自带CoreData的工程
在新建一个项目时,可以勾选Use Core Data选项,这样创建出来的工程系统会默认生成一些CoreData的代码以及一个.xcdatamodeld后缀的模型文件,模型文件默认以工程名开头。这些代码在AppDelegate类中,也就是代表可以在全局使用AppDelegate.h文件中声明的CoreData方法和属性。
系统默认生成的代码是非常简单的,只是生成了基础的托管对象模型、托管对象上下文、持久化存储调度器,以及MOC的save方法。但是这些代码已经可以完成基础的CoreData操作了。
系统生成代码
这部分代码不应该放在AppDelegate中,尤其对于大型项目来说,更应该把这部分代码单独抽离出去,放在专门的类或模块来管理CoreData相关的逻辑。所以我一般不会通过这种方式创建CoreData,我一般都是新建一个“干净”的项目,然后自己往里面添加,这样对于CoreData的完整使用流程掌握的也比较牢固。
CoreData模型文件的创建
构建模型文件
使用CoreData的第一步是创建后缀为.xcdatamodeld的模型文件,使用快捷键Command + N,选择Core Data - Data Model - Next,完成模型文件的创建。创建完成后可以看到模型文件左侧列表,有三个选项Entities、Fetch Requests、Configurations,分别对应着实体、请求模板、配置信息。
模型文件
添加实体
现在可以通过长按左侧列表下方的Add Entity按钮,会弹出Add Entity、Add Fetch Request、Add Configuration选项,可以添加实体、请求模板、配置信息。这里先选择Add Entity来添加一个实体,命名为Person。
添加Person实体后,会发现一个实体对应着三部分内容,Attributes、Relationships、Fetched Properties,分别对应着属性、关联关系、获取操作。
空实体
现在对Person实体添加两个属性,添加age属性并设置type为Integer 16,添加name属性并设置type为String。
添加属性
实体属性类型
在模型文件的实体中,参数类型和平时创建继承自NSObject的模型类大体类似,但是还是有一些关于类型的说明,下面简单的列举了一下。
Undefined: 默认值,参与编译会报错
Integer 16: 整数,表示范围 -32768 ~ 32767
Integer 32: 整数,表示范围 -2147483648 ~ 2147483647
Integer 64: 整数,表示范围 –9223372036854775808 ~ 9223372036854775807
Float: 小数,通过MAXFLOAT宏定义来看,最大值用科学计数法表示是 0x1.fffffep+127f
Double: 小数,小数位比Float更精确,表示范围更大
String: 字符串,用NSString表示
Boolean: 布尔值,用NSNumber表示
Date: 时间,用NSDate表示
Binary Data: 二进制,用NSData表示
Transformable: OC对象,用id表示。可以在创建托管对象类文件后,手动改为对应的OC类名。使用的前提是,这个OC对象必须遵守并实现NSCoding协议
添加实体关联关系
创建两个实体Department和Employee,并且在这两个实体中分别添加一些属性,下面将会根据这两个实体来添加关联关系。
创建实体
给Employee实体添加关系,在Relationships的位置点击加号,添加一个关联关系。添加关系的名称设为department,类型设置为Department,Inverse设置为employee(后面会讲解这个inverse的作用)。
添加Relationships
选择Department实体,点击Relationships位置的加号,添加关联关系。(需要注意的是,inverse需要设置好Relationships之后才能设置)Department实体添加Relationships的操作和Employee都一样,区别在于用红圈标出的Type,这里设置的To Many一对多的关系。这里默认是To One一对一,上面的Employee就是一对一的关系。也就符合一个Department可以有多个Employee,而Employee只能有一个Department的情况,这也是符合常理的。
添加Relationships
Relationships类似于SQLite的外键,定义了在同一个模型中,实体
您可能关注的文档
最近下载
- 《城镇排水管道检测与评估技术规程》.pdf VIP
- 统编版《道德与法治》六年级下册第8课《科技发展 造福人类》精品课件(含视频).pptx
- 2025年党支部书记学习教育专题党课中央八项规定专题党课讲稿(严守中央八项规定精神,争做新时代合格党员;从中央八项规定精神看党员干部的责任与担当).docx VIP
- 3.3 探秘澜沧江—湄公河流域的河流地貌课件高中地理鲁教版(2019)必修一.pptx
- GB50666-2011混凝土结构工程施工规范.doc VIP
- 现代畜牧业发展理论与实践(畜牧业发展历程).ppt VIP
- 座便器检验报告.pdf
- 线上音乐特色作业说民乐-奏民乐设计.docx VIP
- QB∕T 5362-2019 玻璃器皿单位产品能源消耗限额(可复制版).pdf
- TCESA 1177-2021 非结构化数据应用分级要求.pdf VIP
文档评论(0)