【发布时间】:2016-09-01 15:25:49
【问题描述】:
我是IOS开发的新手,在使用核心数据时遇到问题,特别是在使用关系时
我有以下关系 enter image description here
如您所见,我有树实体,我想做的是在特定用户消费食物时将数据插入 CredentialsFood 实体
所以我尝试使用以下代码插入
// adding to credetialsFood Entity
NSManagedObjectContext *context1 = [appD managedObjectContext];
CredentialsFood *credentialsFood = (CredentialsFood *) [NSEntityDescription insertNewObjectForEntityForName:@"CredentialsFood" inManagedObjectContext:context1];
NSDate *currentDate = [NSDate date];
credentialsFood.toFood.food_id = item_id;
credentialsFood.toCred.email = @"123";
credentialsFood.date = currentDate;
// here's where the actual save happens,
if(![context1 save:&errorCoreData]){
NSLog(@"Problem saving: %@",[error localizedDescription]);
}
else{
NSLog(@"Food date Saved");
}
代码运行良好 但是,在检索时,我尝试例如获取所有 CredentialsFood.date 其中 Credentials.email = 123 我什么也没收到
我真的不知道我做错了什么这是要检索的代码
NSManagedObjectContext *context2 = [appD managedObjectContext];
NSEntityDescription *foodEntity =[NSEntityDescription entityForName:@"Credentials" inManagedObjectContext:context2];
NSFetchRequest *request = [[NSFetchRequest alloc]init];
NSError *error2 = nil;
NSString * userid =@"123";
NSPredicate *foodPredicate = [NSPredicate predicateWithFormat:@"(email contains[cd] %@)",userid];
[request setEntity:foodEntity];
[request setPredicate:foodPredicate];
NSManagedObject *matches = nil;
NSArray *objects = [context executeFetchRequest:request error:&error2];
if([objects count]== 0){
NSLog (@"no matches found");
}
else {
//NSLog(@"aasdasdad %@", objects);
matches = [objects objectAtIndex:0];
NSLog(@"bb %@",[matches valueForKey:@"name"]);
NSLog(@"bb %@",[matches valueForKey:@"email"]);
NSLog(@"bb %@",[matches valueForKey:@"password"]);
//NSLog(@"hhhhhhhhhhhhhh %@",[matches valueForKey:@"credentails"]);
NSMutableSet *query = [matches mutableSetValueForKey:@"credentails"];
NSArray *financialData =[matches valueForKeyPath:@"credentails"];
NSLog(@"%@",financialData);
NSLog(@"%@",[financialData valueForKey:@"date"]);
数据在核心数据中,但我不知道它是否正在执行关系,Food 实体已填充,CredentialsFood 也已填充
我也收到警告 抽象实体食物没有孩子 抽象实体 Credentials 没有子实体 抽象实体 CredentialsFood 没有子实体
提前致谢
【问题讨论】:
标签: ios objective-c core-data