【发布时间】:2013-11-06 23:53:48
【问题描述】:
我有两个有关系的实体。一个父母和一个孩子(对许多人)。我第一次取它是好的。第二次调用获取请求时,父级的引用键被删除/为空,从而使子记录成为孤儿。
- (void)prepareGallery
{
self.events = [[NSMutableArray alloc] init];
self.photos = [[NSMutableArray alloc] init];
NSArray *tempArr = [self fetchEntity:@"PEvent" predicate:nil];
for (Event *pEvent in tempArr) {
NSSet *photoSet = [pEvent photos];
NSArray *photosArray = [photoSet allObjects];
if ([photosArray count] > 0) {
//only add events with photos
[self.events addObject:pEvent];
[self.photos addObject:photosArray];
}
}
if ([self.events count] > 0) {
[collectionView reloadData];
}else{
NSLog(@"Events empty");
}
}
-(NSArray*)fetchEntity:(NSString*) entityName predicate:(NSPredicate*) predicate
{
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:entityName];
request.resultType = NSManagedObjectResultType;
if (predicate != nil) {
request.predicate = predicate;
}
NSError *error;
NSArray *result = [_managedObjectContext executeFetchRequest:request error:&error];
return result;
}
模型关系
实体:照片
目的地:PEvent
逆:照片
删除规则:无操作
类型:一个
实体:PEvent
目的地:照片
逆:pEvent
删除规则:级联
类型:对许多
【问题讨论】:
标签: ios core-data relationship nsfetchrequest