ios开发数据库(MagicalRecord)的使用重点内容

ios开发数据库(MagicalRecord)的使用重点内容

1,如何创建数据库(如图)

首先commond+N 出现如图所示

先点击左下角“+”号,出现左上角的ENTITIES,然后改成自己的名字就可以,最后将右边属性栏里面的属性添加了

添加映射,COMMOND+N,出现如图所示

最后选择自己的数据库名称就可以了

2,上代码

// 在viewDidLoad 里创建数据库(可以这样理解),如果是全局都是用的话,就在appdelegate里面初始化就行
//数据库的创建
    [MagicalRecord setupCoreDataStackWithStoreNamed:@"student.sqlite"];

 // 增删改查四部曲
 // 增
 -(void)addData{
    //通过第三方创建 对象 (自己带映射文件)
    Student *stu=[Student MR_createEntity];

    stu.stuAge=[NSNumber numberWithInt:18];
    stu.stuName=@"小明";
    stu.stuSex=@"M";

    //保存数据
    //通过第三方库中的数据库操作对象保存
    //Persistent 持久化

    [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];

    // 一般都会将数据添加到数组里面
    [_dataSource addObject:stu];
    //重新加载tableview 刷新界面
    [self.myTableView reloadData];
}
// 删
- (void)deleteData{
    // 删除数据,一般是通过一个唯一标示删除的,通过数据的查找

    //先从数据源取出第一个对象
    Student *stu=[_dataSource firstObject];
    //调用mr中的方法 然后在数据库中删除
    //调用第三方库MR中的方法
    //然后现在数据库中删除他
    [stu MR_deleteEntity];


    //删除之后保存
    //Managed 管理 Object Context 环境 default
    [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];

    //在数据源了里面也删除
    [_dataSource removeObject:stu];

    [self.myTableView reloadData];
}
// 修改
- (void)changeData{

    Student *stu=[_dataSource firstObject];

    stu.stuAge=[NSNumber numberWithInt:28];
    stu.stuSex=@"F";
    stu.stuName=@"小王";

    //在数据库里更新数据
    [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];

    [self.myTableView reloadData];
}
// 查
-(void)findData{
    //查询数据 查询全部
//    _dataSource=[NSMutableArray arrayWithArray:[Student MR_findAll]];

    //按条件查询数据库中的数据
    //按升序查询
//    [Student MR_findAllSortedBy:@"stuAge" ascending:YES];
//    
//    [Student MR_findByAttribute:@"stuName" withValue:@"小王"];

    _dataSource=[NSMutableArray arrayWithArray:[Student MR_findByAttribute:@"stuName" withValue:@"小王" andOrderBy:@"stuAge" ascending:YES]];

    [self.myTableView reloadData];
}

3,注意点:

1,每次添加或是修改了数据库,必须调用[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];这句话,表示数据持久化和保存;
2,这里提供的代码是比较基础的,只要理解了原理,自己按照自己的想法写就可以了;
3,使用思路,添加数据–>查找该数据(通过自己设定的唯一标示)–>做出修改(改变值或是删除)

4,如有好的想法可以加qq719326543交流,添加时备注ios,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值