【发布时间】:2010-12-16 16:40:00
【问题描述】:
我的第一个 Core Data 项目遇到问题...
我在多对多关系中有两个实体:引号 > Boilers。
当用户在 UITableView 行中选择 Boiler 时,我想知道该 Boiler 是否已经与页面管理的 Quote 有关系,并切换该关系。
我认为下面的代码失败了,因为 Predicate 不知道 选择了哪个 Boiler,但我不能完全正确...
- (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];
}
任何帮助或指点将不胜感激......
【问题讨论】:
标签: iphone core-data many-to-many