Iphone 选择父项时如何访问正确的子项?

Iphone 选择父项时如何访问正确的子项?,iphone,cocoa-touch,core-data,Iphone,Cocoa Touch,Core Data,在这种情况下,我想我已经解决了自己的问题,但是,作为Cocoa的新手(以及编程的新手),我希望有人检查一下我是否正确 我最初的问题如下:我有一个简单的CoreData程序,两个实体之间有一对多的关系:“类别”(父项)和“检查表”(子项)。点击一个类别会打开一个新的视图,其中有一个列表。问题是,如果我点击一个类别,我会得到一个大的清单,上面列出了所有类别的所有清单——不管我点击哪个类别,这个清单都是一样的 我的解决方案是使用@属性和谓词。设置Checklists视图控制器(在根视图控制器的Tabl

在这种情况下,我想我已经解决了自己的问题,但是,作为Cocoa的新手(以及编程的新手),我希望有人检查一下我是否正确

我最初的问题如下:我有一个简单的CoreData程序,两个实体之间有一对多的关系:“类别”(父项)和“检查表”(子项)。点击一个类别会打开一个新的视图,其中有一个列表。问题是,如果我点击一个类别,我会得到一个大的清单,上面列出了所有类别的所有清单——不管我点击哪个类别,这个清单都是一样的

我的解决方案是使用@属性和谓词。设置Checklists视图控制器(在根视图控制器的TableView:DidSelectRowatineXpath:中)时,我执行了以下操作:

Category *category = (Category *)[__fetchedResultsController objectAtIndexPath:indexPath];

detailViewController.category = category;
NSPredicate *requestPredicate = [NSPredicate predicateWithFormat:@"category.name = %@", self.category.name];
[fetchRequest setPredicate:requestPredicate];
然后,在清单视图控制器的fetchedResultsController方法中,我执行了以下操作:

Category *category = (Category *)[__fetchedResultsController objectAtIndexPath:indexPath];

detailViewController.category = category;
NSPredicate *requestPredicate = [NSPredicate predicateWithFormat:@"category.name = %@", self.category.name];
[fetchRequest setPredicate:requestPredicate];
这似乎奏效了,但我只是想检查一下我是否以正确的方式进行了这项工作。谢谢

- 编辑-以下是我的核心数据模型的屏幕截图: 是的,没关系。 您还可以使用NSSortDescriptor获取已排序的数组:


NSSortDescriptor*checkListName=[[NSSortDescriptor allo]initWithKey@“name”升序:是]自动删除]

NSArray*sortedDescArray=[NSArray arrayWithObjects:checkListName,无]

[获取请求集合集合描述符:sortedDescArray];


祝您一切顺利。

您能发布您的coredata数据模型的屏幕截图吗?