iOSCoreData数据库:
来源:互联网 发布:域名注册查询工具 编辑:程序博客网 时间:2024/06/05 10:20
@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;//操作管理器(增删改查)@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;//被管理的数据模型@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;//持久化协助管理器 /** * 表示要向Person这个表里面插入一条数据 */ /* 参数1:插入的表名 参数2:托管上下文对象(coreData操作管理器) */ //数据 ->(映射) 对象 Person *per = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:self.managedObjectContext]; //设置返回实体对象的属性 per.name = @"老王"; per.age = [NSNumber numberWithInt:11]; per.headImage = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"1" ofType:@"png"]]; //保存记录 [self.managedObjectContext save:nil]; NSLog(@"%@",NSHomeDirectory()); //查找数据 NSFetchRequest *request = [[NSFetchRequest alloc] init]; //获得表结构实体(把一张表进行实体化) NSEntityDescription *entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.managedObjectContext]; //设置查询的表结构实体(设置查询的是哪张表) request.entity = entity; /* //设置条件查询(谓语) NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name = %@",@"老李"]; request.predicate = predicate; */ //设置升降序排列 //YES代表升序,NO代表降序 NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"age" ascending:YES]; request.sortDescriptors = @[sort]; //通过操作管理器发起查询请求 //resultArr储存搜寻的结果 NSArray *resultArr = [self.managedObjectContext executeFetchRequest:request error:nil]; for (Person *per in resultArr) { NSLog(@"per.name = %@ per.age = %@",per.name,per.age); } /* for (Person *per in resultArr) { NSLog(@"per.name = %@ per.age = %@",per.name,per.age); //修改数据(更新) per.name = @"老李"; //保存记录 [self.managedObjectContext save:nil]; //删除 if ([per.age integerValue] == 90) { [self.managedObjectContext deleteObject:per]; //保存记录 [self.managedObjectContext save:nil]; } } */.M中: NSManagedObjectContext *_context;引入头文件#import "AppDelegate.h"- (void)loadDataFromCoreData{ //coreData查询 AppDelegate *delegate = [UIApplication sharedApplication].delegate; _context = delegate.managedObjectContext; NSFetchRequest *request = [[NSFetchRequest alloc]init]; //从哪个实体中查询数据 NSEntityDescription *descrip = [NSEntityDescription entityForName:@"CDGoodsModel" inManagedObjectContext:_context]; //查询规则,where xx = xx NSPredicate *predicate = [NSPredicate predicateWithFormat:@"cid = %d",_cid]; [request setEntity:descrip]; [request setPredicate:predicate]; NSArray *array = [_context executeFetchRequest:request error:nil]; [_dataArray addObjectsFromArray:array]; [_myTable reloadData];}数据库删除:AppDelegate *delegate = [UIApplication sharedApplication].delegate; _context = delegate.managedObjectContext; for (NSManagedObject *obj in _dataArray) { [_context deleteObject:obj]; } [_context save:nil]; [_dataArray removeAllObjects];数据库插入:CDGoodsModel:表名 CDGoodsModel *cdModel = [NSEntityDescription insertNewObjectForEntityForName:@"CDGoodsModel" inManagedObjectContext:_context]; cdModel.imgURL = [NSString stringWithFormat:@"%@",model.imgURL]; cdModel.price = [NSString stringWithFormat:@"%@",model.price]; cdModel.discount = [NSString stringWithFormat:@"%@",model.discount]; cdModel.cid = [NSString stringWithFormat:@"%d",_cid]; NSError *error = nil; if(![_context save:&error]) { NSLog(@"coreData保存数据失败,error=%@",error); }else { [_dataArray addObject:cdModel]; } } //刷表 [_myTable reloadData];URL 的赋值不可以放到init里
0 0
- iOSCoreData数据库:
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- iOS外包联系我,谢谢
- Python读写并且修改Excel
- Socket-UDP
- 10+年程序员总结的20+条经验教训(转)
- iOS 应用程序沙盒的应用
- iOSCoreData数据库:
- [OpenGL ES 07-1]光照原理
- 17个提升iOS开发效率的必用工具
- Jitter Removal in Image and Sequence
- Servlet与jsp的“一语惊醒梦中人”的区别
- 【工业4.0时代,怎样为孩子筹备未来的教育?】有感
- 色情图片识别
- android ListView 几个重要属性
- JAR命令&JAR包详解