Realm是一个跨平台的移动数据库引擎,它是专门为移动应用所设计的数据持久化解决方案之一,先看下性能对比
1.使用简单 realm 官网地址下载 Realm Browser(数据预览工具) 进入官网看到 release zip 点击下载。 运行plugin文件下工程即可安装插件。自动生成model
官网地址 https://realm.io/docs/objc/latest/
简单使用
增:
RLMRealm *realm = [RLMRealm defaultRealm];
[realm beginWriteTransaction];
[realm addObject:person];
[realm commitWriteTransaction];
删:
RLMRealm *realm = [RLMRealm defaultRealm];
[realm beginWriteTransaction];
// 删除多条记录
[realm deleteObjects:persons];
// // 删除单条记录
// [realm deleteObject:person];
//
// // 删除所有记录
// [realm deleteAllObjects];
//
[realm commitWriteTransaction];
改:
[realm beginWriteTransaction];
[realm addOrUpdateObject:persons];
[realm commitWriteTransaction];
查:
//1 查询所有
RLMResults *persons = [UserPerson allObjects];
NSLog(@"%@",persons);
//2 条件查询
RLMResults *tanDogs = [UserPerson objectsWhere:[NSString stringWithFormat:@"userId = %@",@([_userIdTextField.text integerValue])] ];
NSLog(@"%@",tanDogs);
//3 根据条件查询结果 并排序 生序or降序 yes or no
RLMResults *results = [[UserPerson objectsWhere:@"type = 1 "] sortedResultsUsingKeyPath:@"userId" ascending:YES];
NSLog(@"%@",results);
//4 区间查询
RLMResults *resultswos= [[UserPerson objectsWhere:@"userId BETWEEN %@", @[@0, @1]] sortedResultsUsingKeyPath:@"userId" ascending:YES];
NSLog(@"%@",resultswos);
demo地址: https://github.com/YUYINGJIE/RealmData