从核心数据中的一对多关系中获取实体数据

问题描述:

我有2个实体。 1称为WishListElement和其他WishListContainer。从核心数据中的一对多关系中获取实体数据

CoreData

-(BOOL)addElementToWishList:(WishListElement*)element 
{ 
    ASAppDelegate* appDelegate = [UIApplication sharedApplication].delegate; 
_managedObjectContext = [appDelegate managedObjectContext]; 

WishListElement *wishList = [NSEntityDescription insertNewObjectForEntityForName:@"WishListElement" inManagedObjectContext:_managedObjectContext]; 

[wishList setAppName: element.appName]; 
[wishList setAppPrice: element.appPrice]; 
[wishList setAppCategory: element.appCategory]; 
[wishList setAppSummary: element.appSummary]; 
[wishList setAppCopyright:element.appCopyright]; 
[wishList setAppAuthor: element.appAuthor]; 
[wishList setAppImage:element.appImage]; 

NSError *error = nil; 
[_managedObjectContext save:&error]; 

WishListContainer *wishListContainer = [NSEntityDescription insertNewObjectForEntityForName:@"WishListContainer" inManagedObjectContext:_managedObjectContext]; 
[wishListContainer addContainsObject:wishList]; 

if (![_managedObjectContext save:&error]) 
{ 
    return NO; 
} 
else 
{ 
    return YES; 
} 
} 

-(NSMutableArray*)getWishListElement 
{ 
ASAppDelegate *appDelegate = (ASAppDelegate*) [[UIApplication sharedApplication]delegate]; 
_managedObjectContext = [appDelegate managedObjectContext]; 


NSFetchRequest *request = [[NSFetchRequest alloc]init]; 
NSEntityDescription *entity = [NSEntityDescription entityForName:@"WishListContainer" inManagedObjectContext:_managedObjectContext]; 
[request setEntity:entity]; 

NSError *error = nil; 
NSMutableArray *fetchRequest = [[_managedObjectContext executeFetchRequest:request error:&error]mutableCopy]; 

[self setWishListArray:fetchRequest]; 

WishListContainer *container = [fetchRequest objectAtIndex:0]; 
NSLog(@"%d",container.contains.count); 
return [container.contains.allObjects mutableCopy]; 
} 

但问题是,当我尝试使用上述代码以显示心愿内容,则显示一个空表视图。

WishListContainer *container = [fetchRequest objectAtIndex:0]; 
NSLog(@"%d",container.contains.count); 
return [container.contains.allObjects mutableCopy]; 

上面的行显示0.请帮助我。

+0

你使用反比关系吗? – Maul 2014-09-30 09:21:58

+0

不,我不使用反比关系。 – JMS 2014-09-30 09:42:04

首先,创建一个反比关系。如此处所述,https://*.com/a/764572/3429577对于数据完整性是必要的。