ios开发数据库(MagicalRecord)的使用重点内容
1,如何创建数据库(如图)
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,使用思路,添加数据–>查找该数据(通过自己设定的唯一标示)–>做出修改(改变值或是删除)