【发布时间】:2010-12-28 06:43:11
【问题描述】:
我是 CoreData 的新手,一直在寻找所有的书籍和示例,但没有一个真正告诉我如何做到这一点,因此非常感谢任何帮助。
基本上,我在一对多关系中有 2 个实体。 [在这种情况下,其他关系并不重要]
关系和实体:
现在我可以使用 NSFetchRequest 根据给定的 Profile 实体获取所有 MedicalCondition 实体
NSFetchRequest *request = [[NSFetchRequest alloc] init];
request.entity = [NSEntityDescription entityForName:@"MedicalCondition" inManagedObjectContext:delegate.managedObjectContext];
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"condition" ascending:YES]];
request.predicate = [NSPredicate predicateWithFormat:@"MedicalToProfile = %@", myProfile];
//request.fetchBatchSize = 20;
NSFetchedResultsController *frc = [[NSFetchedResultsController alloc]
initWithFetchRequest:request
managedObjectContext:delegate.managedObjectContext
sectionNameKeyPath:nil
cacheName:nil];
NSError *error;
BOOL success = [frc performFetch:&error];
NSArray *fetchedObjectsFromCore;
[request release];
if (success) {
fetchedObjectsFromCore = [frc fetchedObjects];
}
没关系。现在,当我想更新一个特定条目时,问题就来了。我不知道该怎么做。我可以添加更多 MedicalCondition 对象就好了。但是当涉及到编辑时,我不确定。
我想不出的唯一方法是在实体中有“ID”属性。我认为必须有比这更好的解决方案。请帮忙 !非常感谢。
【问题讨论】: