附上github链接https://github.com/15118130757/ReamlUser
导入库 并添加头文件 创建模型对象( 数据库可视化软件Realm Browser AppStore直接下载)
#import <Realm/Realm.h>
打开数据库并做版本数据库编号
RLMRealmConfiguration *config =[RLMRealmConfiguration defaultConfiguration];
// 数据库本地路径
config.schemaVersion=2;
// 设置闭包,这个闭包将会在打开低于上面所设置版本号的 Realm 数据库的时候被自动调用
config.migrationBlock = ^(RLMMigration *migration, uint64_t oldSchemaVersion) {
NSLog(@"%llu",oldSchemaVersion);
// 目前我们还未进行数据迁移,因此 oldSchemaVersion == 0
if (oldSchemaVersion < 1) {
// 什么都不要做!Realm 会自行检测新增和需要移除的属性,然后自动更新硬盘上的数据库架构
}
};
[RLMRealmConfiguration setDefaultConfiguration:config];
// 现在我们已经告诉了 Realm 如何处理架构的变化,打开文件之后将会自动执行迁移
[RLMRealm defaultRealm];
NSLog(@"%@", config.fileURL);
存数据
NSLog(@"存数据");
NSString* str=nil;
for (int i=0; i<2; i++) {
if (i==0) {
str=@"15118130757";
}else{
str=@"15060193253";
}
_messreaml=[[Messagereaml alloc]init];
_messreaml.sex=@"男";
_messreaml.nickName=@"萌妹子";
_messreaml.otherDwID=str;
RLMResults<Messagereaml *> *temp = [Messagereaml objectsWhere:@"otherDwID = %@",str];
NSLog(@"%@",temp);
if (temp.count == 0) {
[[RLMRealm defaultRealm] transactionWithBlock:^{
[[RLMRealm defaultRealm] addObject:_messreaml];
}];
} else {
NSLog(@"数据库已经有该条数据不需要再存了");
}
}
查询数据
NSLog(@"查询");
NSString* strid=@"15118130757";
_messreaml=[[Messagereaml objectsWhere:@"otherDwID=%@",strid]firstObject];
NSLog(@"取出来的数据%@",_messreaml.sex);
更改数据
NSLog(@"改数据");
NSString* strid=@"15118130757";
_messreaml=[[Messagereaml objectsWhere:@"otherDwID=%@",strid]firstObject];
NSLog(@"取出来的数据%@",_messreaml.sex);
//改数据
if (_messreaml.sex) {
[[RLMRealm defaultRealm] transactionWithBlock:^{
_messreaml.nickName=@"白富美";
//再存
[[RLMRealm defaultRealm] addObject:_messreaml];
}];
}
// dispatch_async(dispatch_queue_create("background", 0), ^{//开启线程存
// @autoreleasepool {
//
// Messagereaml* messreaml=[[Messagereaml objectsWhere:@"otherDwID = %@",str] firstObject];
// RLMRealm *realm = [RLMRealm defaultRealm];
// [realm beginWriteTransaction];
// messreaml.sex=@"女";
// [realm commitWriteTransaction];
//
// }
// });//更新某一条数据 这个写法与上面的写法是一样的
删除数据
NSLog(@"删除某一条数据");
NSString* str=@"15118130757";
RLMResults<Messagereaml *> *temp = [Messagereaml objectsWhere:@"otherDwID = %@",str];
RLMRealm *realm = [RLMRealm defaultRealm];
[realm beginWriteTransaction];
[realm deleteObjects:temp];//删除某条数据
[realm commitWriteTransaction];
删除所有数据
RLMRealm *realm = [RLMRealm defaultRealm];
[realm beginWriteTransaction];
[realm deleteAllObjects];//删除所有数据
[realm commitWriteTransaction];
查询所有数据
RLMResults<Messagereaml *> *temp = [Messagereaml allObjects];
NSLog(@"查询所有数据%@",temp);
网友评论