我正在寻找一个+ autoupdatingCurrentCalendar
可以用来代替+ currentCalendar
. 更具体地说,当日历更改时,基于日历的值会自动更改。我需要为此或类似的东西绑定吗?
文档状态:
请注意,如果您根据日历或相关信息缓存值,这些缓存当然不会通过日历对象的更新而自动更新。
提前致谢
我正在寻找一个+ autoupdatingCurrentCalendar
可以用来代替+ currentCalendar
. 更具体地说,当日历更改时,基于日历的值会自动更改。我需要为此或类似的东西绑定吗?
文档状态:
请注意,如果您根据日历或相关信息缓存值,这些缓存当然不会通过日历对象的更新而自动更新。
提前致谢
currentCalendar
返回当前系统日历的缓存版本,同时autoupdatingCurrentCalendar
始终返回系统日历的最新版本。
这一点很重要,当您根据日历的各种参数(例如一个月中的天数、一年中的周数或一天中的小时数)呈现数据时,这一点很重要。
老实说,我不知道为什么 Apple 会给你一个机会,让你通过使用currentCalendar
. 看起来他们有内部 API 允许您操作 的缓存NSCalendar
,因此您可以获得更好的性能。但由于它不是公开的,所以没有理由使用currentCalendar
.
也就是说,始终使用autoupdatingCurrentCalendar
.
好吧,在 OS X 上,您可以同时运行多个进程。一种可能是您使用autoupdatingCurrentCalendar
. 另一个可能是系统偏好设置。
系统偏好设置允许您自定义您的日历设置。您可以将一周的第一天选择为默认值(星期日)以外的其他日期。或者您可以选择完全不同的日历。如果您使用autoupdatingCurrentCalendar
,这些更改将被自动拾取。如果你不使用它,他们就不会。
我想只有将日历存储在内存中以供进一步使用时才有用。这样做,如果日历设置发生变化,如果您使用 autoupdatingCurrentCalendar,您存储的日历将考虑这些更改。如果您只使用 currentCalendar,它将保持您第一次调用时的状态。