关闭

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

标签: iosCoreDat
53人阅读 评论(0) 收藏 举报
分类:

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,谢谢

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:34410次
    • 积分:883
    • 等级:
    • 排名:千里之外
    • 原创:57篇
    • 转载:3篇
    • 译文:0篇
    • 评论:2条
    最新评论