gpt4 book ai didi

objective-c - 使用 NSFetchedresultController 对 'transient' 字段进行排序

转载 作者:太空狗 更新时间:2023-10-30 03:32:17 24 4
gpt4 key购买 nike

有没有一种方法可以使用“ transient ”字段或类似的东西,并以某种方式使用 NSFetchedResultsController 进行相应排序。我想执行以下操作:

我在数据库中有地点的位置。当有人打开列表时,我想在顶部显示最近的位置,然后根据距离进行排序。但很明显,这取决于用户所在的位置,所以我不能使用静态字段。我希望使用 transient 字段,因为您可以将其用于节标题。

有没有人可以针对这种情况提供解决方案或解决方法?

最佳答案

您不能在 SQlite 基础核心数据存储的提取请求中使用 transient 属性。

参见 Fetching Managed Objects在《核心数据编程指南》中:

You cannot fetch using a predicate based on transient properties (although you can use transient properties to filter in memory yourself). ... To summarize, though, if you execute a fetch directly, you should typically not add Objective-C-based predicates or sort descriptors to the fetch request. Instead you should apply these to the results of the fetch.

您可以为 sectionNameKeyPath 使用 transient 属性,但即便如此,您仍需要基于持久属性的节的第一个排序描述符。

所以唯一的解决方法可能是获取所有对象,然后对获取的数组进行排序。但是当然,您不再具有获取结果 Controller 的优势。

关于objective-c - 使用 NSFetchedresultController 对 'transient' 字段进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13325849/

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