iOS中CoreData数据管理系列一——初识CoreData
2016-01-27 00:00
471 查看
摘要: CoreData是iOS中和核心数据框架,使用CoreData框架可以方便的对复杂数据关系进行处理。
Sqlite数据库相关知识:http://my.oschina.net/u/2340880/blog/600820
iOS中sqlite3框架的使用和封装:http://my.oschina.net/u/2340880/blog/601802
CoreData的一大优势即是其可以方便的在对象之间建立关系。
这时在Xcode的文件导航区会出现一个以xcdatamodeld为扩展名的文件,这个文件就是数据模型文件,点击Add Entity按钮添加一个实体类型,取名为SchoolClass,为这个类型添加两个属性,分别为名字name和学生数量stuNum,如下图:
Name设置实体类型的名称,Abstract Entity设置是否是抽象实体,如果勾选,则此实体不能被实例化,只能被继承,类似于抽象类,比如定义人为一个实体类型,在定义继承于人实体类型的老师、学生等来进行实例化。Parent Entity用来选择父类实体,Class用于设置对应的类的。
这时,SchoolClass实体类型中就有了一个Student类型的班长属性。如果切换一下编辑风格,可以更加清晰的看到实体类型之间的关系,如下图:
name设置属性的名字,Optional类型代表可选,即在实例化对象时可以赋值也可以不赋值。Attribute设置属性的数据类型,Default Value设置数据的默认值。
专注技术,热爱生活,交流技术,也做朋友。
——珲少 QQ群:203317592
iOS中CoreData数据管理系列一——初识CoreData
一、何为CoreData
CoreData是一个专门用来管理数据的框架,其在性能与书写方便上都有很大的优势,在数据库管理方面,apple强烈推荐开发者使用CoreData框架,在apple的官方文档中称,使用CoreData框架可以减少开发者50%——70%的代码量,这虽然有些夸张,但由此可见,CoreData的确十分强大。二、设计数据模型
在iOS开发中,时常使用SQL数据库对大量的表结构数据进行处理,但是SQL有一个十分明显的缺陷,对于常规数据模型的表,其处理起来是没问题的,例如一个班级表,其中每条数据中有班级名称,人数这样的属性,一个学生表,其中每条数据有学生的姓名,性别,年龄这样的属性。但是如果要在表与表之间建立联系,自定义对象与自定义对象之间产生从属关系,使用SQL处理起来就十分麻烦了,例如如果这个班级表中有一个班长的属性,这个属性是一个学生类型。关于iOS中SQL的使用相关博客,地址如下:Sqlite数据库相关知识:http://my.oschina.net/u/2340880/blog/600820
iOS中sqlite3框架的使用和封装:http://my.oschina.net/u/2340880/blog/601802
CoreData的一大优势即是其可以方便的在对象之间建立关系。
1.创建实体类型及其属性
使用Xcode创建一个工程,在工程中新建一个文件,选择Core Data分类中的DataModel创建,如下图:这时在Xcode的文件导航区会出现一个以xcdatamodeld为扩展名的文件,这个文件就是数据模型文件,点击Add Entity按钮添加一个实体类型,取名为SchoolClass,为这个类型添加两个属性,分别为名字name和学生数量stuNum,如下图:
2.对实体类型进行设置
在Xcode右侧的工具栏中可以对实体类型进行一些设置,选中一个实体类型,如下图:Name设置实体类型的名称,Abstract Entity设置是否是抽象实体,如果勾选,则此实体不能被实例化,只能被继承,类似于抽象类,比如定义人为一个实体类型,在定义继承于人实体类型的老师、学生等来进行实例化。Parent Entity用来选择父类实体,Class用于设置对应的类的。
3.在实体对象之间建立关系
再创建一个学生类实体Student,添加name和age两个属性。选中SchoolClass,在其中的Relationships模块中点击+号,来添加一个关系,如下图:这时,SchoolClass实体类型中就有了一个Student类型的班长属性。如果切换一下编辑风格,可以更加清晰的看到实体类型之间的关系,如下图:
4.对属性和关系进行设置
选中一个属性或者关系,在右侧的工具栏中可以对属性进行一些设置,如下图:name设置属性的名字,Optional类型代表可选,即在实例化对象时可以赋值也可以不赋值。Attribute设置属性的数据类型,Default Value设置数据的默认值。
专注技术,热爱生活,交流技术,也做朋友。
——珲少 QQ群:203317592
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 数据库链接字符串查询网站
- DB2实例管理
- DB2实例管理
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- CentOS下DB2数据库安装过程详解
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- sql2008 还原数据库解决方案
- Oracle 数据库自动存储管理-安装配置
- Oracle数据库执行脚本常用命令小结
- Oracle 数据库 临时数据的处理方法
- 数据库分页查询语句数据库查询
- 最近比较流行的数据库挂马
- Oracle 手动创建数据库步骤详解