NSDateComponents
week
obsoleto da iOS8. Apple suggerisce di utilizzare weekOfMonth
o weekOfYear
invece, a seconda del contesto, ma stanno lavorando in un modo diverso. Per esempio:La settimana NSDateComponents funziona in modo diverso su iOS8
components1 = [calendar components:NSMonthCalendarUnit | NSWeekCalendarUnit | NSDayCalendarUnit
fromDate:[self date7DaysAgo]
toDate:[NSDate date]
options:0];
componenti1 ritorna mese = 0, = 1 settimana, giorno = 0, weekOfMonth
e weekOfYear
sono entrambi pari al 2147483647 (valore massimo intero).
components2 = [calendar components:NSMonthCalendarUnit | NSWeekCalendarUnit | NSDayCalendarUnit
fromDate:[self date30DaysAgo]
toDate:[NSDate date]
options:0];
components2 ritorna mese = 1 (lo so che dipende, ma il suo solo un esempio), la settimana = 0, giorno = 0, weekOfMonth
e weekOfYear
sono entrambi pari al 2147483647 (valore massimo intero).
Week
restituisce il numero di settimane durante un periodo (se era una settimana o multiplo) ed è completamente diverso dal numero di una settimana nel mese o anno. Perché Apple potrebbe suggerire di utilizzare questo invece?
Cosa viene eseguito dal metodo date7DaysAgo e date30DaysAgo? – Apurv
Data di ritorno 7 o 30 giorni fa. Può essere ad esempio: '[[Data NSData] dateByAddingTimeInterval: -60 * 60 * 24 * 7] (So che a causa dell'ora legale o qualcos'altro può differire, ma ancora una volta, è solo un esempio). – KlimczakM
Se in effetti si sceglie di esaminare la documentazione, NSWeekCalendarUnit è "Deprecated in iOS 8.0". (Comunque, stranamente, così sono tutte le altre unità.) –