zoukankan      html  css  js  c++  java
  • MagicalRecord 多表关联数据操作

    最近在使用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
    著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
  • 相关阅读:
    操作系统——死锁相关
    Java 实现广度优先搜索和深度优先搜索
    Java 实现常见排序算法
    初次接触JQuery
    Firefox使用stylish自定义网页背景
    使用randoop自动化生成测试用例
    软件测试(五)——使用Selenium IDE进行自动化测试
    软件项目管理(二)——用jenkins持续集成、Maven、Github的使用
    云计算(一)——使用 Hadoop Mapreduce 进行数据处理
    软件测试(四)——图覆盖
  • 原文地址:https://www.cnblogs.com/yeng/p/5784760.html
Copyright © 2011-2022 走看看