IOS开发:CoreData的应用
2015-10-07 20:35
435 查看
CoreData 最简单的一个数据插入操作:
1 先创建一个工程,注意要勾选 Use Core Data 项
2 在“项目名称.xcdatamodeld 项添加一个表"Person",并增加两个字段name,age”
3 选中刚创建好的表,Editor--Create NSManagedObject SubClass... 将刚才创建的表生成为类
4 在Appdelegate.m中引入刚生成的Person,然后编写如下代码,即可做一个简单的数据插入操作
fetch 请求数据
1 先创建一个工程,注意要勾选 Use Core Data 项
2 在“项目名称.xcdatamodeld 项添加一个表"Person",并增加两个字段name,age”
3 选中刚创建好的表,Editor--Create NSManagedObject SubClass... 将刚才创建的表生成为类
4 在Appdelegate.m中引入刚生成的Person,然后编写如下代码,即可做一个简单的数据插入操作
//打印数据库的路径 NSLog(@"%@",[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]); //创建实体描述 (1 实体类,2临时存储的上下文) NSEntityDescription * description = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.managedObjectContext]; //创建Person对象(1 实体描述 2临时存储的上下文) Person * person = [[Person alloc]initWithEntity:description insertIntoManagedObjectContext:self.managedObjectContext]; //实体对象赋值 person.name = @"张三"; person.age = @20; //一定要记着保存 [self.managedObjectContext save:nil];
fetch 请求数据
//********* fetch ********** NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.managedObjectContext]; [fetchRequest setEntity:entity]; // Specify criteria for filtering which objects to fetch //谓词 做条件过滤 不是必须项 // NSPredicate *predicate = [NSPredicate predicateWithFormat:@"classesShip == %@", self.currentClasses]; // [fetchRequest setPredicate:predicate]; // Specify how the fetched objects should be sorted //排序方式 不是必须项 这里的key按某个字段排序这里是按age排序 最后YES为升序 NO为降序 // NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"age" ascending:YES]; // [fetchRequest setSortDescriptors:[NSArray arrayWithObjects:sortDescriptor, nil]]; NSError *error = nil; //发送请求并返回数据 NSArray *fetchedObjects = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error]; if (fetchedObjects == nil) { }else{ Person * person1 = fetchedObjects[0]; NSLog(@"%@,%@",person1.name,person1.age); //修改 person1.name = @"李四"; //保存 [self.managedObjectContext save:nil]; //删除 [self.managedObjectContext deleteObject:fetchedObjects[0]]; //保存 [self.managedObjectContext save:nil]; }
相关文章推荐
- [iOS]隐藏NavigationBar和StatusBar
- ios截图代码
- [置顶] iOS之模仿新浪微博项目经验总结
- [置顶] iOS之手动创建PCH文件
- 【iOS开发】添加子控件方式(懒加载,GCC)
- iOS开发中解决iOS8无法定位的问题
- xcode6+ios8最新真机调试教程
- IOS谓词--NSPredicate
- iOS编程------动画
- iOS开发系列--视图切换
- iOS:多线程技术GCD的使用
- iOS经典讲解之百度地图的使用及案例(iOS地图SDK)
- iOS开发系列课程(10) --- 表格视图
- iOS-大神们的博客收集
- iOS开发系列课程(09) --- 滚动视图
- 在iOS中如何创建一个控制器
- iOS开发系列课程(08) --- 事件处理详解和手势操作
- xcode编程中使用使用了DOUAudioStreamer这个第三方遇到的问题及其解决方法
- IOS 字典转模型
- nagios监控端自动化安装脚本