iOS版Realm简单使用 增删改查功能

本文介绍如何使用Realm数据库替代FMDB进行iOS应用开发,重点讲解Realm的安装配置、基本使用方法,包括创建模型、实现增删改查等功能,并推荐RealmBrowser工具辅助数据管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以前用过fmdb,需要写sql语句

但是realm不需要使用sql语句

感觉方便了很多

而且realm还提供了一个Realm Browser可视化工具 App store可以免费下载 an zhuang wa

我也是第一次用 都是简单操作

推荐使用pod导入
pod 'Realm'

如果没有安装pod 我建议你安装一下 用处还是不小的

推荐一篇博客安装pod的博客
https://www.cnblogs.com/angelgril/p/6731015.html

直接上代码吧

创建model

创建model需要继承realm的RLMObject

RealmPersonModel.h文件

@property NSInteger age;

@property NSString * name;

 

#import <Realm.h>

//默认是在ducument路径下创建

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *docDir = [paths objectAtIndex:0];

    NSLog(@"%@", docDir);

// 使用默认的目录,可以使用用户名来替换默认的文件名

    RLMRealmConfiguration *config = [RLMRealmConfiguration defaultConfiguration];

 config.fileURL = [[[config.fileURL URLByDeletingLastPathComponent]  URLByAppendingPathComponent:@"tabname"] URLByAppendingPathExtension:@"realm"];

    // 将这个配置应用到默认的 Realm 数据库当中

    [RLMRealmConfiguration setDefaultConfiguration:config];

    NSLog(@"config.fileURL  %@",config.fileURL);

 

//创建几个按钮分别实现增、删、改、查

NSArray * btn_title_name = @[@"增",@"删",@"改",@"查"];

    for (int i = 0; i < btn_title_name.count; i++) {

        UIButton * btn = [[UIButton alloc]initWithFrame:CGRectMake(100, 100+(i*80), 100, 50)];

        [btn setTitle:btn_title_name[i] forState:UIControlStateNormal];

        btn.backgroundColor = [UIColor lightGrayColor];

        [self.view addSubview:btn];

        [btn addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];

        btn.tag = 100+i;

    }

//实现点击事件

-(void)btnClicked:(UIButton *)btn{

    switch (btn.tag) {

        case 100:

            [self addInfo];

            break;

        case 101:

            [self delInfo];

            break;

        case 102:

            [self changeInfo];

            break;

        case 103:

            [self searchInfo];

            break;

        default:

            break;

    }

}

//增

-(void)addInfo{

    RLMRealm * realm = [RLMRealm defaultRealm];

    [realm transactionWithBlock:^{

        RealmPersonModel * model = [[RealmPersonModel alloc]init];

        model.age = 10;

        model.name = @"CZH";

        [realm addObject:model];

        [realm commitWriteTransaction];

    }];

}

//删

-(void)delInfo{

    RLMRealm * realm = [RLMRealm defaultRealm];

    [realm transactionWithBlock:^{

        RLMResults * result = [RealmPersonModel allObjects];

        if (result.count > 0) {

            [realm deleteObject:result.firstObject];

        }

    }];

    

}

//改

-(void)changeInfo{

    RLMRealm * realm = [RLMRealm defaultRealm];

    [realm transactionWithBlock:^{

        RLMResults * result = [RealmPersonModel allObjects];

        if (result.count > 0) {

            RealmPersonModel * model = [result objectAtIndex:0];

            model.name = @"CZHSHS";

            [realm commitWriteTransaction];

        }

        

    }];

}

//查

-(void)searchInfo{

    RLMRealm * realm = [RLMRealm defaultRealm];

    [realm transactionWithBlock:^{

        RLMResults * result = [RealmPersonModel allObjects];

        for (RealmPersonModel * model in result) {

            NSLog(@"name  %@",model.name);

        }

    }];

}

创建表 填入数据等操作就可以用上面打印的地址来打开你刚才创建的表查看数据了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值