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