iOS开发 - MagicalRecord
来源:互联网 发布:mac 查看剩余空间 编辑:程序博客网 时间:2024/05/29 12:28
常用方法
• 将字典导入model 类似于JSONModel的功能 News * model = [News MR_importFromObject:dict];· 将数组导入model 返回model数组 类似于JSONModel的功能 self.dataArr = [NSMutableArray arrayWithArray:[News MR_importFromArray:arr]];· 查询最大/最小值 Person * person = [Person MR_findFirstOrderedByAttribute:@"age" ascending:NO];
使用过程
1.导入第三方
//初始化
[MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@“coreData文件名”];
2.创建coredata文件
3.#import “MagicalRecord.h”
4.增
Person * person = [Person MR_createEntity];//要存储的具体的数据person.age = @(arc4random()%20 +10);person.name =@"名字";//保存[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];
5.删
//根据条件 获取要删除的数据NSArray * arr = [Person MR_findByAttribute:@"age" withValue:@(21)]; for (Person * person in arr) { //删除 [person MR_deleteEntity]; break;}[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];
6.改
Person * person = [Person MR_findFirst];//修改person.name = @"小米";person.age = @(4);//同步[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];
7.查
NSArray * allArr = [Person MR_findAll]; for (Person * person in allArr) { NSLog(@" %@ %d ",person.name,person.age.integerValue);} NSPredicate * pred = [NSPredicate predicateWithFormat:@"%K>%@",@"age",@(20)];[Person MR_findAllWithPredicate:pred];
缓存实例
1.数据源加载时 : 懒加载方法中为获取本地缓存文件-(NSMutableArray *)dataArr{if (!_dataArr) { NSArray * arr = [News MR_findAll]; _dataArr = [NSMutableArray arrayWithArray:arr];}return _dataArr;2.请求数据时 : 创建model时应该创建实体News * model = [News MR_createEntity];当数据请求下来的时候 应该根据唯一标识(主键)来判断是否已经缓存 NSArray * arrRes = [News MR_findByAttribute:@"docid" withValue:dict[@"docid"]]; if (!arrRes.count) { //如果查询docid来判断 该数据是否已经存储了 //如果没有存储 就插入数据 [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];}第一次数据请求结束时应该清空懒加载时数据源中的数据
数据结构变更时引发crash,解决方案:
http://blog.csdn.net/ysy441088327/article/details/8606019
0 0
- iOS开发 - MagicalRecord
- ios开发数据库(MagicalRecord)的使用重点内容
- iOS第三方MagicalRecord
- 『IOS』MagicalRecord入门教程
- MagicalRecord
- MagicalRecord
- 数据库操作iOS库MagicalRecord使用说明
- IOS数据库操作类库MagicalRecord使用说明
- 数据库操作iOS库MagicalRecord使用说明
- iOS —— MagicalRecord的使用
- iOS coreData和MagicalRecord如何分页
- iOS数据存储之CoreData封装MagicalRecord
- 数据库操作iOS库MagicalRecord使用说明(2)
- Girl_iOS100天学iOS的第十三天(MagicalRecord)
- Girl_iOS100天学iOS的第十四天(MagicalRecord)
- 第四篇《iOS 进一步封装CoreData的MagicalRecord的使用》
- MagicalRecord入门教程
- MagicalRecord 2.1
- Ubuntu安装完Qt后报错error: cannot find -lGL解决办法
- removeChild删除表格数据时遇到的问题
- iOS开发 - Coredata
- MATCH_PARENT与FILL_PARENT:不要做什么和怎么做
- 关于友员
- iOS开发 - MagicalRecord
- 扩展欧几里得
- Oracle 修改字段类型
- ListView用法及加载数据时的闪烁问题和加载数据过慢问题
- SearchView.OnCloseListener() 不起作用解决办法。
- C++作业2
- iOS开发 - 气泡控制器 IPAD
- Android studio 导入github工程
- WM_PAINT消息