MagicalRecord初级入门

作者: 来自蒙塔基的钢蛋儿 | 来源:发表于2015-12-10 11:10 被阅读936次

            最近公司的新项目,刚起步.要用到数据持久化.对于前段开发写sql语句是最头疼的了,当然如果你是喜欢喜sql得那么可以不用 继续看下去了.


这几天一直在想怎么,创建好的Model对象通过映射,不用写sql语句来操作数据库,后来才想起来,苹果的CoreData不都已经实现了吗!! 但是 CoreData使用起来,代码很长,很不方便.

所以推荐 MagicalRecord,一个对CoreData 封装的库.省去了CoreData 大量的操作代码.更重要的是 :

再也不用写 @"增删改查"


1、集成 MagicalRecord

推荐大家通过CocoaPods 管理第三方库.

在你的podfile文件中添加: 

pod 'MagicalRecord', '~> 2.3.0'


2、在我们的工程当中使用它吧

在A ppdelegate 当中 初始化它,他会 为我们建好 数据库.

1.创建工程

创建的时候不要勾选CoreData,因为会在Appdelegate自动生成CoreData代码.如果不熟悉CoreData机制的可以线去了解一下.

2.创建一个Data Model

这个可以理解为创建一个数据库,它会为我们创建一个数据库.

3.创建一个实体

选择我们刚刚创建好的Data Model,然后我们在Model 但中创建一个Person实体,每个实体对应我们数据库当中的一个表.相当于我们在数据库当中创建了一个 table name = Person.

Person 当中有两个字段 name 和 age,主键自增.


我们创建好CoreData索要用到的东西.接下来开始操作MagicalRecord吧!

[MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@"Model.sqlte"];

初始化MagicalRecord,他会为我们创建好数据库,存在沙盒当中,并且初始化关联数据库的NSManagedObjectContext 上下文.

上下文是我们使用CoreData操作数据库必须要用到的.CoreData机制的可以去看一下,很简单.

接下来我们可以向数据库当中插入数据库了.


插入数据

Person* per = [Person MR_createEntity];

per.name=@"钢蛋儿";

per.age=@18;

[[NSManagedObjectContext MR_defaultContext]MR_saveToPersistentStoreAndWait];

这里我遇到一个问题就是用

MR_saveOnlySelfAndWait

保存时,并不会直接写入数据库当中.真是坑坑坑.运行后可以去文件夹查看数据库,按照我的操作流程你应该已经成功了.


查找数据

NSArray* pers = [Person MR_findAllSortedBy:@"age" ascending:YES];

查找某一字段 并且按升序排序 后面的参数,YES 为升序.

NSArray* pers_ALL = [Person MR_findAll];

查找数据库当中所有数据.

NSArray* per_Age = [Person MR_findByAttribute:@"age"withValue:@18];

查找所有age属性为18的数据.

条件查找也可以的,暂时还没有总结.下次更新补充.


更新数据

NSArray* pers = [Person MR_findByAttribute:@"name"withValue:@"钢蛋儿"];

for(Person* per in pers) {

per.name=@"GangDaner";

}

[[NSManagedObjectContext MR_defaultContext]MR_saveToPersistentStoreAndWait];

我们查找所有叫钢蛋儿的,然后为他们更改一个英文名字.修改之后别忘记保存,因为如果不保存所有数据都是在内存当中,并没有写入数据库.


删除数据

删除数据道理也是一样

NSArray* pers = [Person MR_findByAttribute:@"name"withValue:@"钢蛋儿"];

for(Person* per in pers) {

per.name=@"GangDaner";

}

[[NSManagedObjectContext MR_defaultContext]MR_saveToPersistentStoreAndWait];


3.到这里MagicalRecord使用就介绍完了,如果下个项目有想使用CoreData的同学可以试试这个,真的很好用.


相关文章

  • MagicalRecord初级入门

    最近公司的新项目,刚起步.要用到数据持久化.对于前段开发写sql语句是最头疼的了,当然如果你是喜欢喜s...

  • CoreData及MagicalRecord学习

    本文是对 MagicalRecord github上的翻译 正文:注意: MagicalRecord 在 ARC...

  • 特效化妆

    初级入门。

  • IOS入门

    IOS 入门博客链接 IOS 初级开发入门教程(一)介绍篇 IOS 初级开发入门教程(二)第一个HelloWorl...

  • 数据缓存之MagicalRecord使用入门

    运行环境: OS X Yosemite 10.10.3 Xcode 6.3.1 MagicalRecord 2.3...

  • MagicalRecord

    会使用MagicalRecord来存储数据了。。。对core data的完美封装。。嗯嗯 今天努力一下晚上把推送搞...

  • Redis从入门到精通:初级篇

    Redis从入门到精通:初级篇 Redis从入门到精通:初级篇 平时陆陆续续看了不少Redis的文章了,工作中也一...

  • 高效阅读下篇心得

    上周分享高效阅读方法中的入门与初级两个阶段。入门级别是确立阅读兴趣,初级是确认阅读结果,结果是用通过做事检验阅读...

  • Intelij DataGrip 使用教程

    仅提供链接 初级使用教程 DataGrip使用入门(一) —— 安装与数据源管理DataGrip使用入门(二) —...

  • 2020年初级会计考试在哪里学比较好

    2020年初级会计考试在哪里学比较好 自从初级会计职称成为会计圈入门考试,无数考生都想踏进初级门槛,然而初级考试难...

网友评论

    本文标题: MagicalRecord初级入门

    本文链接:https://www.haomeiwen.com/subject/ntxdhttx.html