Beispiel für die Verwendung von [NSCalendar autoupdatingCurrentCalendar]

8

Ich suche nach einem Beispiel, in dem + autoupdatingCurrentCalendar anstelle von + currentCalendar verwendet würde. Genauer gesagt, wo die -Werte basierend auf dem Kalender automatisch geändert werden, wenn sich der Kalender ändert. Benötige ich Bindungen für diese oder so?

Die Dokumentation besagt:

  

Beachten Sie, dass beim Zwischenspeichern von Werten basierend auf   der Kalender oder verwandte Informationen   Diese Caches werden natürlich nicht sein   wird automatisch durch die Aktualisierung aktualisiert   des Kalenderobjekts.

Vielen Dank im Voraus

    
oliver223 08.03.2011, 17:27
quelle

3 Antworten

4

currentCalendar gibt die zwischengespeicherte Version des aktuellen Systemkalenders zurück, während autoupdatingCurrentCalendar immer die neueste Version des Systemkalenders zurückgibt.

Das ist wichtig, wenn Sie Daten basierend auf den verschiedenen Parametern eines Kalenders wie Anzahl der Tage in einem Monat, Anzahl der Wochen pro Jahr oder Anzahl der Stunden pro Tag präsentieren.

Um ehrlich zu sein, ich weiß nicht, warum Apple Ihnen die Möglichkeit gibt, veralteten Wert zu erhalten, indem Sie currentCalendar verwenden. Es sieht so aus, als hätten sie eine interne API, mit der Sie Caches von NSCalendar manipulieren können, um eine bessere Leistung zu erzielen. Da es jedoch nicht öffentlich ist, gibt es keinen Grund, currentCalendar zu verwenden.

Das heißt, verwenden Sie immer autoupdatingCurrentCalendar .

    
Kentzo 19.05.2012 20:07
quelle
1

Unter OS X können Sie mehrere Prozesse gleichzeitig ausführen. Einer könnte Ihr Prozess sein, der autoupdatingCurrentCalendar verwendet. Die andere könnte Systemeinstellungen sein.

Mit Systemeinstellungen können Sie Ihre Kalendereinstellungen anpassen. Sie können den ersten Wochentag als einen anderen als den Standardtag (Sonntag) festlegen. Oder Sie können einen ganz anderen Kalender wählen. Wenn Sie autoupdatingCurrentCalendar verwenden, werden diese Änderungen automatisch übernommen. Wenn Sie es nicht verwenden, werden sie nicht.

    
Dave DeLong 20.11.2011 03:02
quelle
0

Ich schätze, dass es nur nützlich ist, wenn Sie den Kalender zur weiteren Verwendung im Speicher ablegen. Wenn sich die Kalendereinstellungen ändern, berücksichtigt der gespeicherte Kalender diese Änderungen, wenn Sie autoupdatingCurrentCalendar verwendet haben. Wenn Sie nur currentCalendar verwenden, bleibt es bei dem ersten Anruf.

    
Oliver 19.05.2012 18:07
quelle

Tags und Links