您的位置:首页 > 移动开发 > IOS开发

IOS 中的 CoreData的使用

2015-03-28 18:38 369 查看
Core Data 是iOS的基本数据存储方式参考 博客:/article/11517936.htmlCore Data数据持久化是对SQLite的一个升级,它是ios集成的,在说CoreData之前,我们先说说在CoreData中使用的几个类。(1)NSManagedObjectModel(被管理的对象模型)相当于实体,不过它包含 了实体间的关系(2)NSManagedObjectContext(被管理的对象上下文)操作实际内容作用:插入数据 查询更新 删除(3)NSPersistentStoreCoordinator(持久化存储助理)相当于数据库的连接器(4)NSFetchRequest(获取数据的请求)相当于查询语句(5)NSPredicate(相当于查询条件)(6)NSEntityDescription(实体结构)(7)后缀名为.xcdatamodel的包里面的.xcdatamodel文件,用数据模型编辑器编辑编译后为.momd或.mom文件,这就是为什么文件中没有这个东西,而我们的程序中用到这个东西而不会报错的原因现在我们不赘述那些创建过程了 我吧我个人的主要代码 给大家看看。
-(void)GetContext//设置 context{AppDelegate *appDelegate= (AppDelegate *)[[UIApplication sharedApplication]delegate]; //初始化 程序代理NSManagedObjectContext *context= [appDelegate managedObjectContext];//定义一个 context = appDelegate中的//manageObjectContext属性self.context =context;//让自己的contextproperty等于定义好的//context}-(void)NewEntity //增加{//定义实体类  插入到 User 中实体类User *TestUser =[NSEntityDescription insertNewObjectForEntityForName:@"User" inManagedObjectContext:context];//TestUser.age =@"20";TestUser.name = @"Captian";//实体类的赋值NSError *error= nil;if([context save: &error])//contextsave 成功会返回 true 任何 尝试性输出; 这里已经完成插入 save{NSLog(@"dadas");NSLog(@"%@%@",error,[error userInfo]);//abort();}}-(NSArray*)GetEntity //查询{// 定义NSFetchRequst 实体NSFetchRequest *request= [[NSFetchRequest alloc]init];//描述要读区的实体类是哪一个实体类UserNSEntityDescription *myEntityQuery= [NSEntityDescription entityForName:@"User"inManagedObjectContext:self.context];//设置 request的读取的类 SetEntity[request setEntity:myEntityQuery];//NSarry 存储 读区出来的 listNSArray *anser= [self.context executeFetchRequest:request error:nil];//这里是 show出读出的数据for (User *temp in anser){NSLog(@"%@",temp.name);}return anser;}
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: