1
有我的第一核心数据项目的麻烦......核心数据,检查现有的许多一对多的关系
我有一个多两个实体一对多的关系:行情< < --- >>锅炉。
当用户在UITableView行中选择锅炉时,我想知道该锅炉是否与该页面正在管理的报价有关系,并切换该关系。
我认为下面的代码失败,因为谓词不知道这锅炉已被选中,但我不能完全得到这个权利...
- (void)managedObjectSelected:(NSManagedObject *)managedObject
{
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"Boiler" inManagedObjectContext:managedObject.managedObjectContext]];
request.predicate = [NSPredicate predicateWithFormat:@"ANY myQuote = %@", quote];
NSError *error;
NSUInteger count = [managedObject.managedObjectContext countForFetchRequest:request error:&error];
if(count==0){
[quote addMyBoilersObject:(Boiler*) managedObject];
}
else {
[quote removeMyBoilersObject:(Boiler*) managedObject];
}
[managedObject.managedObjectContext save:&error];
}
任何帮助或指针会非常感谢...
这似乎是正确的方法,但是您能否指出我在示例中对“包含”命令的引用,编译器不喜欢它,并且我正在努力寻找教程。谢谢。 – MattSW 2011-01-10 14:41:41
这是我的错误 - 请参阅编辑修正。 [[self quote]锅炉]返回一个NSSet。 -containsObject:是NSSet的实例方法。希望这可以帮助。 – westsider 2011-01-10 17:39:14