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

标签 ios iphone core-data

我有 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];
}

但问题是,当我尝试使用上述代码显示心愿单内容时,它显示的是一个空 TableView 。

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

以上几行都显示为0,请帮帮我。

最佳答案

首先,创建一个反向关系。如此处所述 https://stackoverflow.com/a/764572/3429577这是数据完整性所必需的。

关于ios - 从核心数据中一对多关系中的实体获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26117006/

相关文章:

ios - 为什么我可以将NSNumber放在NSString中而不得到异常?

objective-c - 来自 C#/Java 世界的 iOS 设计模式等价物?

iphone - 使用 UIWebView 显示某些 PDF 会错误地呈现某些文本

ios - 如何在不解包可选值的情况下使用字符串变量

ios - 核心数据创建 TableViewCells Swift

ios - MagicalRecord 不保存

cocoa - 在核心数据模型中存储 NSImage

iphone - 如何沿滚动动态加载带有项目的 iOS iCarousel

ios - 绑定(bind)模型和 View : how to observe object properties

iphone - 使用 Xcode 4.3 中地址簿中的联系人填充表格 View