我在尋找一個示例,其中使用+ autoupdatingCurrentCalendar
而不是+ currentCalendar
。更具體地說,當日歷更改時,基於日曆的值自動更改。我是否需要綁定這個或類似的東西?何時使用示例[NSCalendar autoupdatingCurrentCalendar]
的文檔狀態:
需要注意的是,如果你基於 緩存值,日曆或相關信息 這些緩存當然不會是 由日曆對象的更新 自動更新。
在此先感謝
我在尋找一個示例,其中使用+ autoupdatingCurrentCalendar
而不是+ currentCalendar
。更具體地說,當日歷更改時,基於日曆的值自動更改。我是否需要綁定這個或類似的東西?何時使用示例[NSCalendar autoupdatingCurrentCalendar]
的文檔狀態:
需要注意的是,如果你基於 緩存值,日曆或相關信息 這些緩存當然不會是 由日曆對象的更新 自動更新。
在此先感謝
那麼,在OS X,你可以運行多個進程同時進行的。一個可能是你的過程,使用autoupdatingCurrentCalendar
。另一個可以是系統偏好設置。
系統偏好設置允許您自定義日曆設置。您可以選擇一週中的第一天作爲默認(星期日)以外的其他日子。或者你可以完全選擇一個完全不同的日曆。如果您使用autoupdatingCurrentCalendar
,這些更改將自動提取。如果你不使用它,他們不會。
我想只有將日曆存儲在內存中以備將來使用時纔有用。這樣做,如果日曆設置更改,則如果您使用autoupdatingCurrentCalendar,則存儲的日曆將考慮這些更改。如果你只使用currentCalendar,它將保持它在你第一次調用時的狀態。
currentCalendar
返回當前系統日曆的緩存版本,而autoupdatingCurrentCalendar
總是返回系統日曆的最新版本。
當您根據日曆的各種參數(例如一個月中的天數,一年中的某個週數或一天中的小時數)呈現數據時,這很重要。
說實話,我不知道蘋果爲什麼會給你一個使用currentCalendar
獲得過時價值的機會。 看起來他們有內部的API,允許你操作NSCalendar
的緩存,這樣你可以獲得更好的性能。但由於它不是公開的,所以沒有理由使用currentCalendar
。
也就是說,總是使用autoupdatingCurrentCalendar
。
你的意思完全相反。 – CodenameLambda1 2014-05-06 05:08:05
@ CodenameLambda1在最新版本的OSX上可能是這樣。但據我記得,我在10.6或10.7有問題 – Kentzo 2014-05-06 06:40:32