【发布时间】:2023-03-19 17:52:01
【问题描述】:
这是我认为我已经解决了自己的问题的情况之一,但是,作为 Cocoa 的新手(以及一般的编程),我希望有人检查我是否正确!
我最初的问题如下:我有一个简单的 CoreData 程序,两个实体之间存在一对多关系:“类别”(父)和“清单”(子)。点击一个类别会打开一个带有清单的新视图。问题是,如果我点击一个类别,我会得到一个包含所有类别的所有清单的大列表 - 无论我点击哪个类别,这个列表都是一样的。
我的解决方案是使用@property 和谓词。当我设置 Checklists 视图控制器(在根视图控制器的 TableView:DidSelectRowAtIndexPath 中)时,我执行了以下操作:
Category *category = (Category *)[__fetchedResultsController objectAtIndexPath:indexPath];
detailViewController.category = category;
然后在 Checklist View Controller 的 fetchedResultsController 方法中我做了以下操作:
NSPredicate *requestPredicate = [NSPredicate predicateWithFormat:@"category.name = %@", self.category.name];
[fetchRequest setPredicate:requestPredicate];
这似乎奏效了,但我只是想检查一下我是否以正确的方式处理了这件事。谢谢!
-
编辑 - 这是我的核心数据模型的屏幕截图:
【问题讨论】:
-
您能否发布您的 coredata 数据模型的屏幕截图?
标签: iphone cocoa-touch core-data