【发布时间】:2013-02-23 00:29:18
【问题描述】:
我的应用程序使用默认系统存储上次数据更新的日期和时间。
我的窗口有一个绑定到该值的文本框。此文本框还附加了一个日期格式化程序。全部通过界面生成器完成。日期格式设置为使用相对日期。
数据仅在白天更新,每次有新数据到达时,文本字段都会完美更新。所以我得到类似的东西:
今天,09:30 今天,09:35 今天,09:40 … 今天,17:40
17:40 将是当天的最后一次数据更新。
问题是,一旦到了午夜,它仍然会显示 Today, 17:40,而应该显示 Yesterday, 17:40。
如果我退出并重新打开应用程序,它会显示昨天,17:40。
我想我需要告诉一些东西来刷新,但我不确定是什么而且我找不到示例。
1) 显然你可以发送假的 willChangeValueForKey 和 didChangeValueForKey 通知,但很多人说这是不正确的。
2) 我尝试在午夜后将用户默认值设置为自身,但这并没有触发更改。
3) 我尝试将用户默认值设置为 nil,然后在午夜后返回,但这也不起作用。
我确信有一个正确且简单的方法可以做到这一点,但我找不到它。
我需要触发什么? 我需要触发哪个对象?
非常感谢。
【问题讨论】:
标签: objective-c macos nsdateformatter