CoreData 之 magicRecoard的使用
来源:互联网 发布:大连u盘数据恢复公司 编辑:程序博客网 时间:2024/06/07 05:37
如需使用系统的CoreData,十分的繁琐,现在3方库封装的CoreData已经非常的成熟,下面就介绍MagicRecoard
1导入方式很多,首先,我还是介意从CocoaPods导入,因为这样可以实时的更新我们的3方库,以便使用最新的版本
下面我要介绍一个场景
在数据请求成功后,将数据存入数据库,然后在数据请求失败时,要求读取数据库中的内容
首先,导入 MagicalRecord 你可以用Pods导入,也可以用拖文件的方式导入
包含头文件
#import <MagicalRecord/MagicalRecord.h>
需要在appdelegate里做如下的操作
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [MagicalRecord setupAutoMigratingCoreDataStack]}
- (void)applicationWillTerminate:(UIApplication *)application { [MagicalRecord cleanUp];}
1.在数据请求成功时,我们需要遍历一下数据库,看看有没有数据,有的话就刷新(我这里没有提供刷新的方法),没有的话就新建保存
NSArray *subArr = [Recommand_Subj MR_findAll];
这里的 Recommand_Subj是一个Entity
2.写入数据
//创建Entity,相当于创建一张表Recommand_Subj *recommand_subj= [Recommand_Subj MR_createEntity];//为表里的字段赋值recommand_subj.fontId = @"12345";recommand_subj.fontName = @"哈哈哈哈";//存储数据 [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];
3.接下来我们要看看读取数据
NSArray *subArr = [Recommand_Subj MR_findAll];for (Recommand_Subj *recommandSubj in subArr) { //我这里将从数据库读取出来的数据对象转化成模型了,其实不转也没什么问题,吧拿到的recommandSubj直接放到数据源数组中使用 NSDictionary *dict = [recommandSubj mj_keyValues]; FZRecommandModel *model = [FZRecommandModel mj_objectWithKeyValues:dict]; [self.subjectPicBosArr addObject:model];}
截止到这里,我们的数据缓存工作就完成了,现在看起来是不是很简单呢,接下来介绍几个其他的常用的方法
4.更新数据
//查找数据库中的所有Recommand_Subj。NSArray *recommandSubjArr = [Recommand_Subj MR_findAll];//查找所有的Recommand_Subj并按照fontid排序。NSArray *recommandSubjArr= [Recommand_SubjMR_findAllSortedBy:@"fontId" ascending:YES];//查找所有fontName属性为哈哈哈的Recommand_subj记录。NSArray *recommandSubjArr= [Recommand_Subj MR_findByAttribute:@"fontName" withValue@“哈哈哈”];//查找数据库中的第一条记录Recommand_Subj *recommandSubjArr = [Recommand_Subj MR_findFirst];
5.添加数据
Recommand_Subj *recommandSubj = [Recommand_Subj MR_createEntity];recommandSubj.fontid = @"111";recommandSubj.fontName = @"我是谁";Recommand_Subj *recommandSubj = [Recommand_Subj MR_createEntity];
6.更新数据
Recommand_Subj *recommandSubj = 这里查找到对应的Recommand_Subj对象recommandSubj.fontName = @"被修改过的";[NSManagedObjectContext MR_defaultContext] MR_save];
7.删除数据
Recommand_Subj *recommandSubj = ...;//此处略[recommandSubj MR_deleteEntity];[[NSManagedObjectContext MR_defaultContext] MR_save];
0 0
- CoreData 之 magicRecoard的使用
- CoreData的使用之二
- Swift基础之CoreData的使用
- swift 之CoreData使用
- CoreData的使用
- CoreData - Mogenerator 的使用
- CoreData的使用
- CoreData的简单使用
- coredata的使用
- CoreData的使用
- CoreData的基本使用
- CoreData 的是使用
- CoreData+MagicalRecord的使用
- CoreData的基本使用
- CoreData的使用
- CoreData的使用
- CoreData的使用
- IOS - CoreData的使用
- Codeforces Round #384 (Div. 2) B Chloe and the sequence
- Android常用名令集锦(图文并茂)!
- codeforces 743 B Chloe and the sequence(递归)
- caffe vs2013 win7 64编译
- 从BroadcastReceiver中anr重新认识
- CoreData 之 magicRecoard的使用
- 【计算机视觉】BING: Binarized Normed Gradients for Objectness Estimation at 300fps
- 关于mysql与sqlserver数据同步中的一次Incorrect string value: '\xA4\x9F2003...' for column异常
- 【Java】web在线打开PDF(pdf.js教程)
- mysql报错Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
- android自定义View基础系列一
- cocos2dx笔记:关于action
- ubuntu下搭建深度学习平台Anaconda
- hadoop操作HDFS文件权限问题