Domanda

Ricevo uno strano problema in iOS 5.0 (9A334).Il problema è che utilizzo CFCalendarGetOrdinalityOfUnit per ottenere il giorno della settimana per una data particolare.

CFCalendarRef theCalendar = CFCalendarCopyCurrent();
CFAbsoluteTime newTime = 0;
const char format[] = "yMdHms";
CFCalendarComposeAbsoluteTime (theCalendar,&newTime,format,theYear, theMonth,theDay, 0, 0, 0);
NSInteger lastDayOfWeekInPreviousMonth = 
CFCalendarGetOrdinalityOfUnit (calendar,kCFCalendarUnitDay,kCFCalendarUnitWeek,absTime );

Restituisce il valore atteso - 1.
I valori per theYear, theMonth, theDay invio i valori di oggi.
Ma in altre versioni di iOS (come 4.3 e 5.0.1) restituisce correttamente il valore previsto.Per favore forniscimi una soluzione.Sono bloccato qui.

È stato utile?

Soluzione

Ho ottenuto la risposta: CFCalendarGetOrdinalityOfUnit per kCFCalendarUnitWeek potrebbe restituire valori diversi per diverse versioni di iOS.Quindi dobbiamo utilizzare NSDateFormatter in una data particolare per ottenere weekDay.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top