IOS成长之路-CoreData使用
来源:互联网 发布:海南省三防办 大数据 编辑:程序博客网 时间:2024/06/13 15:04
本文来自于:http://wangliang.me/?p=517
CoreData基础中已经学习了CoreData的理论基础,是基于“Master-Detail Application”项目的代码分析,这一篇直接进入实战。
我们从“Empty Application”一个空项目开始,命名为TestCoreData,并勾选Use Core Data,在AppDelegate中Xcode已经为我们生成了CoreData基本代码。
建模
打开xcdatamodeld文件,点击Add Entity按钮添加实体,并命名这个实体为Student,如下图。
点击Add Attribute按钮(也可以点击”+”号)并添加三个属性age、name、birth,类型分别为Integer32、String、Date,如下图
同样地再添加一个实体为Course,并添加两个属性title、score,类型为String、Integer32。
现在Student、Course两个实体就创建好了,接下来就要把这两个实体关联起来,先看看它们之间存在什么样的关系,如下图。
从上图可以看出,Student和Course之间存在一对多的关系,选择Student实体,在Relationships中添加一个courses关联,同样在Course的Relationships中添加一个student关联,reloationship的Destination和Inverse如下图所示
因为是一对多关系,所以在courses关系中要勾选“To-Many Relationship”,下图红色框选处
至此建模部分就完成了,我们需要Xcode为我们生成ManagedObject的子类,新建文件选择Core Data,创建基于NSManagedObject subclass,如下图
选中Student和Course这两个实体,点击Next创建
Xcode为我们生成了Student和Course的模型代码。
学生列表
- ♥ 获取被管理对象上下文
- ♥ 获取NSFetchedResultsController对象
按照这样上面的思路来写,在初始化函数中赋值managedObjectContext,获取NSFetchedResultsController对象的代码基本是模板化的代码,把上篇中的代码粘贴上去稍微改下就行了,在导航栏右边添加”+”按钮用来显示添加学生视图。
学生详细视图
该视图用来显示学生的基本信息还有课程分数,ListingStudentViewController和DetailStudentViewController之间通过成员属性student来传递变量,用UITextView来显示学生课程分数。
添加学生信息
添加学生信息的流程也基本差不多,把模板代码改下
添加课程分数
因为Xcode为我们生成了为学生添加课程的方法addCoursesObject,所以我们只要调用这个函数给学生添加课程,其它的事情由CoreData框架来处理
- IOS成长之路-CoreData使用
- IOS成长之路-CoreData详细介绍
- IOS成长之路-CoreData基础
- IOS成长之路
- IOS之CoreData初识
- iOS之 coredata
- iOS之CoreData
- ios 使用CoreData
- IOS--CoreData使用介绍
- IOS CoreData使用
- IOS - CoreData的使用
- iOS CoreData的使用
- iOS中Coredata使用
- iOS coredata 使用
- IOS成长之路-备份变量名的使用
- IOS成长之路-正则表达式的简单使用
- IOS成长之路-使用系统默认声音、震动
- IOS成长之路-使用系统默认声音、震动
- 设计模式:工厂模式
- MFC 之文档/视图/框架
- apktool反编译工具使用详解
- Hibernate中类的继承使用union-subclass实现
- ComboBox绑定DataTable数据,用户选中项后触发事件异常,之二!
- IOS成长之路-CoreData使用
- 数组中超过出现次数超过一半的数字
- extjs4 pagingtoolbar refresh button 扩展
- Android 中的拿来主义(编译,反编译,AXMLPrinter2,smali,baksmali)!
- 反编译android应用,降低权限去广告及重新签名
- MailDirect的SMTP 503 Bad sequence of commands解决办法
- Asp.net_控件TreeView的使用
- 机器学习与人工智能学习资源导引
- JSON.parse