gpt4 book ai didi

ios - 如何将 setReturnsDistinctResults 与 Magical Record 一起使用?

转载 作者:行者123 更新时间:2023-11-29 04:30:24 24 4
gpt4 key购买 nike

我试图在名为“name”的实体属性上获得唯一的结果。为此,我将 Magical Record 与 NSFetchedResultsController 结合使用事情根本不起作用,我得到了所有结果,但它们不是唯一的结果。

我使其工作的代码如下:

- (NSFetchedResultsController *)fetchedResultsController
{
if (_fetchedResultsController != nil) {
return _fetchedResultsController;
}

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"custom == 0"];

[_fetchedResultsController.fetchRequest setReturnsDistinctResults:YES];
[_fetchedResultsController.fetchRequest setResultType:NSDictionaryResultType];
[_fetchedResultsController.fetchRequest setPropertiesToFetch:[NSArray arrayWithObject:@"name"]];


_fetchedResultsController = [MyQuestion fetchAllSortedBy:@"name"
ascending:YES
withPredicate:predicate
groupBy:nil
delegate:self];

return _fetchedResultsController;
}

我还尝试使用 native NSFetchedResultsController 方法(没有 Magical Record),但我收到数据库已损坏异常,可能是因为我仍在应用程序委托(delegate)上使用 Magical Record 初始化数据。

最佳答案

在这种情况下您要使用的技术是:

  1. 使用您的自定义选项创建提取请求
  2. 之后让 MagicalRecord 接管

因此,在 nsmanagementobject 上查找名为 MR_requestAllSortedBy: 的类别方法。还有更多的请求助手,但这将使您朝着正确的方向前进。创建提取请求后,设置选项,例如 setReturnsDistinctResults。然后,要将其发送回 MagicalRecord 帮助程序/管道,您需要在本地副本中公开 MR_fetchController:... 方法。此方法接受获取请求和其他选项,并且还处理错误处理等。

关于ios - 如何将 setReturnsDistinctResults 与 Magical Record 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11811985/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com