gpt4 book ai didi

macos - 当日期改变时 NSNotification?

转载 作者:行者123 更新时间:2023-12-03 16:22:52 27 4
gpt4 key购买 nike

WebKit 的 WebHistory API 按日期分隔其项目。因此,当日期发生变化时,我需要重新分配任何“昨天”和/或“(早些时候)今天”(或“明天”!)标签。有 NSNotification 吗?或者我是否必须依赖 NSTimer 或 -performSelector:withObject:andDelay: 或其他一些技术?

(当然,替代方法不会自动处理回溯日期。)

附录

截至撰写本文时,有两个答案,但第三个答案后来被删除。它有最全面的回应。它提到了 WWDC-2013 Session 227,其中讨论了 Mavericks 中日期/时间系统的未记录的添加内容。改进了对今天的检查以及日期更改的通知。您可以查看two-thirds down the Foundation Release Notes for OS X v10.9 .

(如果已删除答案的所有者想要恢复某些内容,如果可能的话,我会转移答案标志。)我在 2013 年末购买了 Mac,并立即将其升级到 Mavericks,所以我不关心预-Mavericks 系统和 Mavericks-only API 都可以。

最佳答案

Is there a NSNotification for this?

不,Mac OS 不会在日期更改时发送通知。

when the day changes, I need to reassign any "Yesterday" [...] labels

这取决于显示标签的 UI 类型。在临时 UI 中,例如菜单,最好在显示 UI 时计算标签并保持原样。

如果任何 UI 显示标签的时间较长(例如侧边栏),最好在日期变化时真正更新。

为此,您应该计算下一次更改的时间并设置一个计时器。此外,您可能需要注册一些通知以检测非标准日期更改(系统 sleep 、调整系统时间、日历更改)。

Here's code它完成了所有这些工作并简单地发送通知。它适用于 iOS 和 Mac OS。

关于macos - 当日期改变时 NSNotification?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25542611/

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