我正在使用神奇的记录从核心数据中获取数据,使用代码:
- (NSFetchedResultsController *)fetchedResultsController {
if (!_fetchedResultsController ) {
_fetchedResultsController = [TagItem MR_fetchAllGroupedBy:nil withPredicate:nil sortedBy:@"name" ascending:YES delegate:self];
}
return _fetchedResultsController;
}
问题是,它正在填充由另一个表视图控制器推送到的表视图控制器,所以基本上用户选择一个选项,将人带到数据列表,但选项中的数据特定于该选项。所以我想做的是只获取分配给该选项的数据,而不是简单地显示所有可用数据。我上面的方法只允许我获取所有数据,而不是根据选项选择特定的数据。选项中的数据作为一个实体被赋予选项本身的 objectId,从而提供了两者之间的关系。
所以我的问题是,如何使用神奇的记录根据特定实体获取数据?
更新
我尝试将谓词设置为特定值只是为了测试它是否有效,认为它与单独使用核心数据的工作方式相同,但我只是得到一个错误。
- (NSFetchedResultsController *)fetchedResultsController {
if (!_fetchedResultsController ) {
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name = test"];
_fetchedResultsController = [TagItem MR_fetchAllGroupedBy:nil withPredicate:predicate sortedBy:@"name" ascending:YES delegate:self];
}
return _fetchedResultsController;
}
错误如下,即使我确定有一个存储名称为 test 的数据项,但它似乎不起作用。
'NSInvalidArgumentException',原因:'无法为谓词(名称 == 测试)生成 SQL(RHS 上的问题)'