关闭

ios开发数据库(MagicalRecord)的使用重点内容

标签: iosCoreDat
104人阅读 评论(0) 收藏 举报
分类:

ios开发数据库(MagicalRecord)的使用重点内容

1,如何创建数据库(如图)

首先commond+N 出现如图所示

先点击左下角“+”号,出现左上角的ENTITIES,然后改成自己的名字就可以,最后将右边属性栏里面的属性添加了

添加映射,COMMOND+N,出现如图所示

最后选择自己的数据库名称就可以了

2,上代码

// 在viewDidLoad 里创建数据库(可以这样理解),如果是全局都是用的话,就在appdelegate里面初始化就行
//数据库的创建
    [MagicalRecord setupCoreDataStackWithStoreNamed:@"student.sqlite"];

 // 增删改查四部曲
 // 增
 -(void)addData{
    //通过第三方创建 对象 (自己带映射文件)
    Student *stu=[Student MR_createEntity];

    stu.stuAge=[NSNumber numberWithInt:18];
    stu.stuName=@"小明";
    stu.stuSex=@"M";

    //保存数据
    //通过第三方库中的数据库操作对象保存
    //Persistent 持久化

    [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];

    // 一般都会将数据添加到数组里面
    [_dataSource addObject:stu];
    //重新加载tableview 刷新界面
    [self.myTableView reloadData];
}
// 删
- (void)deleteData{
    // 删除数据,一般是通过一个唯一标示删除的,通过数据的查找

    //先从数据源取出第一个对象
    Student *stu=[_dataSource firstObject];
    //调用mr中的方法 然后在数据库中删除
    //调用第三方库MR中的方法
    //然后现在数据库中删除他
    [stu MR_deleteEntity];


    //删除之后保存
    //Managed 管理 Object Context 环境 default
    [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];

    //在数据源了里面也删除
    [_dataSource removeObject:stu];

    [self.myTableView reloadData];
}
// 修改
- (void)changeData{

    Student *stu=[_dataSource firstObject];

    stu.stuAge=[NSNumber numberWithInt:28];
    stu.stuSex=@"F";
    stu.stuName=@"小王";

    //在数据库里更新数据
    [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];

    [self.myTableView reloadData];
}
// 查
-(void)findData{
    //查询数据 查询全部
//    _dataSource=[NSMutableArray arrayWithArray:[Student MR_findAll]];

    //按条件查询数据库中的数据
    //按升序查询
//    [Student MR_findAllSortedBy:@"stuAge" ascending:YES];
//    
//    [Student MR_findByAttribute:@"stuName" withValue:@"小王"];

    _dataSource=[NSMutableArray arrayWithArray:[Student MR_findByAttribute:@"stuName" withValue:@"小王" andOrderBy:@"stuAge" ascending:YES]];

    [self.myTableView reloadData];
}

3,注意点:

1,每次添加或是修改了数据库,必须调用[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];这句话,表示数据持久化和保存;
2,这里提供的代码是比较基础的,只要理解了原理,自己按照自己的想法写就可以了;
3,使用思路,添加数据–>查找该数据(通过自己设定的唯一标示)–>做出修改(改变值或是删除)

4,如有好的想法可以加qq719326543交流,添加时备注ios,谢谢

0
0
查看评论

MagicalRecord数据库查看工具

使用MagicalRecord作为本地数据,可以使用该工具查看数据中的表及数据。 开发测试时,希望看到当时应用内本地数据库中的数据是什么样的,所以为了方便查看,便开发了该工具。 该工具主要用的技术点是: 1.使用NSManagedObjectModel来查看实体列表 NSManagedO...
  • zm53373581
  • zm53373581
  • 2015-10-27 16:00
  • 801

第四篇《iOS 进一步封装CoreData的MagicalRecord的使用》

脸,本来上一篇末说是要研究一下iOS的代理模式的,结果找着找着就找篇了,突然发现前几天研究的还是在坑里。跟项目组同事一讨论,CoreData太麻烦了,连最基本的CRUD都这么费劲,以后遇到个稍微麻烦点的不得烦死啊,所以找找封装好的三方类库,顺便咨询了一个研究iOS好多年的同学,推荐了MagicalR...
  • wolf0532
  • wolf0532
  • 2016-08-31 23:40
  • 322

MagicalRecord使用方法

前言 CoreData是iOS开发中经常使用的数据持久化的技术。但其操作过程稍微繁琐,即使你只是实现简单的存取,不涉及请求优化,也要进行许多配置工作,代码量在动辄几十行,对新手来说也需要较大时间成本。 MagicalRecord是OC的一个库,协助方便CoreData的工作。其吸收了Ru...
  • xiaowenwen1010
  • xiaowenwen1010
  • 2014-06-17 13:09
  • 686

持久化存储解决方案MagicalRecord使用入门

众所周知,Core Data 是苹果内置关于用户数据持久化的解决方案,无论在 iOS 平台还是 OS X 平台,它都是通用的。尽管苹果一直秉持着最大化的使编程简单的宗旨,但是 Core Data 上手对于有经验的开发者也不是一件易事。 即便是你知道如何使用 Core Data ,很简单的日常任...
  • shanchelicun
  • shanchelicun
  • 2015-12-16 11:41
  • 800

MagicalRecord关闭打印日志

在MagicalRecord初始化呢的地方调用类方法 [MagicalRecord setLoggingLevel:]; MagicalRecordLoggingLevel是一个枚举类型 MagicalRecordLogLevelOff: 关闭打印日志,不输出任何东西Magical...
  • wangjunling888
  • wangjunling888
  • 2016-07-08 10:51
  • 440

iOS开发 - MagicalRecord

常用方法• 将字典导入model 类似于JSONModel的功能 News * model = [News MR_importFromObject:dict];· 将数组导入model 返回model数组 类似于JSONModel的功能 self.dataArr =...
  • crystal_9527
  • crystal_9527
  • 2016-03-25 11:26
  • 214

MagicRecord的使用详解

本篇内容讲解的是MagicRecord的使用,是对CoreData的深度封装,原文地址: http://www.raywenderlich.com/56879/magicalrecord-tutorial-ios 欢迎大家指正,谢谢! CoreData作为Mac OS 和IOS开发数据...
  • iOSbird
  • iOSbird
  • 2016-03-24 17:50
  • 1033

MagicalRecord入门教程

Magical Record是什么 在Cocoa中存在一种技术叫Core Data,用来对数据进行持久化,类似于Java世界中的Hibernate。在新建Cocoa Application/iOS Application的向导中,有一个选项是要不要使用Core Data,当启用以后你会发现在A...
  • kuizhang1
  • kuizhang1
  • 2014-03-13 23:53
  • 30015

MagicalRecord dispatch_aync 多线程保存

废话不多说,直接看问题^_^,我的答案也是自己尝试获得的,一开始就不知道有这个东西,到迷迷糊糊的了解,到有点理解,到能用,这需要过程,当然我的水平不高.之所以写下来是觉得可能有人和我一样也在经历这个学习的过程.给大家一些参考.如果觉得我的方案有问题,请留言.O(∩_∩)O~ 项目中遇到的问题: ...
  • shanglanxin
  • shanglanxin
  • 2015-09-07 15:41
  • 1516

IOS MagicRecord 详解

刚开始接触IOS不久,尝试着翻译一些博客,积累技术,与大家共享。 本篇内容讲解的是MagicRecord的使用,是对CoreData的深度封装,原文地址:http://www.raywenderlich.com/56879/magicalrecord-tutorial-ios 欢迎大家指正,谢谢!...
  • dongtaochen2039
  • dongtaochen2039
  • 2014-10-22 14:37
  • 21834
    个人资料
    • 访问:50963次
    • 积分:1027
    • 等级:
    • 排名:千里之外
    • 原创:57篇
    • 转载:3篇
    • 译文:0篇
    • 评论:3条
    最新评论