- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
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/
我是一名优秀的程序员,十分优秀!