
每个孩子与其他实体有不同的关系.
我试图获取实体A的所有子实体,其中isPublic布尔值为YES.
我在过去提取子类化实体时遇到了与提取相关的问题,我确信我只是没有正确地执行它.
所以我们可以说例如:
•实体A是“文件”,
•实体B是“诗”,
•实体C是“文章”
所有的诗歌和文章子类文档,文档有一个名为isBookmarked的属性,suer可以为一首诗或文章加书签,我需要一种方法来获取所有被加入书签的文档.实体B和C需要独立,因为它们拥有其他关系.
我想使用NSFetchedResultsController来获得最佳的Core Data和UItableVIEw性能,而我正在努力获取各种诗歌和文章.
什么获取请求会给我混合的诗歌和文章?
解决方法 像这样简单的事情(假设ismarkmarked是一个布尔值):NSEntityDescription *entityDescription = [NSEntityDescription entityForname:@"document" inManagedobjectContext:context];// This may not be the most elegant way of using a boolean in a predicate,but…NSNumber *numIsBookmarked = [NSNumber numberWithBool:YES];nspredicate *predicate = [nspredicate predicateWithFormat:@"isBookmarked == %@",numIsBookmarked];NSFetchRequest *request = [[NSFetchRequest alloc] init];[request setEntity: entityDescription]; [request setPredicate: predicate]; [request setResultType: NSManagedobjectResultType];NSError *error = nil; NSArray *results = [contextMain executeFetchRequest:request error:&error];if (error) { // deal with the error}[request release]; 之后,您将检查是否获取了哪个子类:
for (NSManagedobject *obj in results){ if ([obj isKindOfClass:[Poem class]]) { // do whatever } else if ([obj isKindOfClass:[Article class]]) { // do whatever }} (或者,如果几个子类化的MO实现相同的方法,则执行respondsToSelector:test会更有效.)
这不起作用?
总结以上是内存溢出为你收集整理的ios – 核心数据父实体全部内容,希望文章能够帮你解决ios – 核心数据父实体所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)