最近在使用MagicalRecord做数据持久层CoreData的操作库,今天做了一个多表关联数据的操作,整理了一个demo,特此记录一下。

关于如何使用Cocopads 和 MagicalRecord 库的引入就不做说明了。

1、首先创建一个数据Model,-file->new->CoreData ->选择data model,取名DemolModel

1

2、分别创建两个实体,UserEntity和MessageEntity

2

这里的两个表分别代表用户表和用户接受的消息列表,它们是一对多的关系,意思是一个用户会拥有很多条消息。下面设置他它们关系。

3、设置RelationHips

设置UserEntity对MessageEntity的关系是一对多,to many,如下图。新建时候,relationship可以随意取名,一般会取它要关联那个实体的名字(即Message),Destination:是选择需要关联的实体,Inverse:是选择在关联表里面建好的relationship。这是UserEntity的设置。

3-1

下面设置MessageEntity,它对于UserEntity是多对一的关系,设置如下

3-2

设置完实体之间的关系后,就可以生成它们对应的Model文件了。选择:Editor->Create NSManagedObject  Subclass..,然后全选,下一步到完成即可。

3-3

自动生成的Model文件:

3-4

4、上面工作完成后,可以开始写程序了,

a、引入MagicalRecord库,配置基本设置

#import <MagicalRecord/MagicalRecord.h>

在AppDelegate的application didFinishLaunchingWithOptions设置CoreData本地数据库

[MagicalRecord setupCoreDataStackWithStoreNamed:@"MyDatabase.sqlite"];

在程序退出的时候设置:

- (void)applicationWillTerminate:(UIApplication *)application {

[MagicalRecord cleanUp];

}

b、添加数据到数据库

b-1

c、查询数据

c-1

d、输出结果

MagicalRecordDemo[1116:31713] 用户数: 1

MagicalRecordDemo[1116:31713] demowork

MagicalRecordDemo[1116:31713] Hello

MagicalRecordDemo[1116:31713] Bye Bye


demo地址:https://github.com/ulongx/MagicalRecordDemo.git

文/ulongx(简书作者)
原文链接:http://www.jianshu.com/p/32cf4bf84b12
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

MagicalRecord 多表关联数据操作的更多相关文章

  1. Django 08 Django模型基础3(关系表的数据操作、表关联对象的访问、多表查询、聚合、分组、F、Q查询)

    Django 08 Django模型基础3(关系表的数据操作.表关联对象的访问.多表查询.聚合.分组.F.Q查询) 一.关系表的数据操作 #为了能方便学习,我们进入项目的idle中去执行我们的操作,通 ...

  2. Django——8 关系表的数据操作 表关联对象的访问 多表查询

    Django 关系表中的数据操作 表关联对象的访问 关联对象的add方法 create方法 remove方法 clear方法 多表查询 查询补充 聚合查询 分组查询 F查询 Q查询 关系表的数据操作 ...

  3. EF里单个实体的增查改删以及主从表关联数据的各种增删 改查

    本文目录 EF对单个实体的增查改删 增加单个实体 查询单个实体 修改单个实体 删除单个实体 EF里主从表关联数据的各种增删改查 增加(增加从表数据.增加主从表数据) 查询(根据主表找从表数据.根据从表 ...

  4. Oracle中如何实现Mysql的两表关联update操作

    在看<MySQL 5.1参考手册>的时候,发现MySQL提供了一种两表关联update操作.原文如下: UPDATE items,month SET items.price=month.p ...

  5. MySQL表的创建和表中数据操作

    这篇文章主要介绍在navicat的命令界面操作mysql.主要涉及建立表结构,和对表中数据的增加删除修改查询等动作.站在一个新手角度的简单mysql表结构和数据操作. ☆ 准备工作 1,保证自己的电脑 ...

  6. hibernate的基础学习--多表关联数据查询

    Hibernate共提供4种多表关联数据查询方式 OID数据查询+OGN数据查询方式 HQL数据查询方式 QBC数据查询方式 本地SQL查询方式(hibernate很少用) 1.OID数据查询+OGN ...

  7. Django模型基础(三)——关系表的数据操作

    模型之间可以有三种表关系,即一对一,一对多和多对多.表关联之间的数据操作在Django中可以很方便的操作到.在模型中,表关联的字段类型是关联表的实例,而不是字段本身类型.关联字段在数据库中会在其后补上 ...

  8. mysql 库,表,数据操作

    一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等performance_schema: MyS ...

  9. Farseer.net轻量级ORM开源框架 V1.x 入门篇:表的数据操作

    导航 目   录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:表实体类映射 下一篇:Farseer.net轻量级ORM开源框 ...

随机推荐

  1. 我对于MSP的理解,供参考

                                   本人在项目管理圈儿也算是摸爬滚打了几载,近几年真是各种压力大,看同行们各种参加培训.认证......我也不能懈怠啊,赶紧上网搜搜相关的培训 ...

  2. a标签样式

    .a{            cursor:pointer;            color: blue;            text-decoration:none;        }

  3. 常用HTML正则表达式

    1.只能输入数字和英文的: <input onkeyup="value=value.replace(/[\W]/g,'') " > 2.只能输入数字的: <inp ...

  4. 2016年12月26日 星期一 --出埃及记 Exodus 21:21

    2016年12月26日 星期一 --出埃及记 Exodus 21:21 but he is not to be punished if the slave gets up after a day or ...

  5. [问题2014S14] 解答

    [问题2014S14]  解答 首先, 满足条件的 \(\varphi\) 的全体特征值都为零. 事实上, 任取 \(\varphi\) 的特征值 \(\lambda\), 对应的特征向量为 \(0\ ...

  6. jquery判断对象是否为空并遍历对象

    javascript : if(document.getElementById("target_obj_id")){ } else { } jquery: 因为 $("# ...

  7. 关于listview视图的 作业

    代码运行目录 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=& ...

  8. 。Java注意事项

  9. 【原创】Capture CIS利用Access数据库建立封装库说明

    1.在服务器端建立新空间,方便封装库以及数据库的归档存放 服务器路径:\\192.168.1.234\Share\STG_LIB,文件夹内容如下,其中Datesheet存放物料数据手册,Pcb_Lib ...

  10. 基于chrome内核的UXSS

    url with a leading NULL byte can bypass cross origin protection. https://code.google.com/p/chromium/ ...