gpt4 book ai didi

ios - 核心数据按日期升序然后按 nil 排序

转载 作者:行者123 更新时间:2023-12-01 17:01:39 24 4
gpt4 key购买 nike

我想我已经知道答案了,但我还是要问这个问题......

我有一个表格,我正在按dueDate 升序对行进行排序。有些记录有截止日期,有些则没有(无)。我更喜欢在没有到期日的行之前显示所有行。
示例:2011 年 1 月 1 日; 2011年2月1日; 2011 年 6 月 1 日;零;零;零

但是,默认排序将 nil 值放在首位,正如预期的那样:
零;零;零; 2011年1月1日; 2011年2月1日; 2011 年 6 月 1 日

我尝试在排序描述符中使用 NSComparisonResult block ,除了在实际启动它时遇到一些困难(可能是由于其他地方的一些逻辑 - 我在同一个 View 中切换不同的排序),我无法让它实际比较 null带有日期的键值。我认为这是有道理的,因为其 @"dueDate"键为 null 的托管对象或多或少会被那些实际要比较的对象的比较跳过。

在这一点上,我相信我唯一的选择是解决这个问题并将“无截止日期”记录设置为远在 future 的日期,例如 3000 年 1 月 1 日。可能会显示 3000 年 1 月 1 日的任何地方,隐藏该值,就好像它实际上是空的一样。

这听起来正确和合理吗?

谢谢!

最佳答案

正如我在上面的评论中建议的那样,我解决了这个问题:[NSDate distinctFuture]。到目前为止,它一直在我的应用程序中运行,我没有理由相信它会在 future 停止以这种方式运行......甚至在遥远的 future 。

在我通常会使用 nil 值的地方,我将 dat 设置为 distinctFuture 并在应用程序中根据该值进行过滤。

关于ios - 核心数据按日期升序然后按 nil 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6269198/

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