Ich habe in der Vergangenheit die folgende Funktion verwendet, um ein bestimmtes Zeitintervall mit NSDateComponents
zu einem vorhandenen Datum hinzuzufügen.
Ab iOS8 ist der Wochenwert für NSDateComponents
veraltet, was bedeutet, dass ich nicht erreichen kann, was ich tun möchte: erzeuge ein neues NSDate
, indem ich eine bestimmte Anzahl von Wochen zu einem gegebenen NSDate
hinzufüge.
Jede Hilfe wird sehr geschätzt.
Update: Wie Zaph in seiner Antwort sagte, empfiehlt Apple tatsächlich, weekOfYear
oder weekOfMonth
anstelle der angegebenen Antwort zu verwenden. Sehen Sie Zaphs Antwort für Details.
Sie werden wahrscheinlich schnell feststellen, dass Sie es überdenken, aber hier können Sie eine bestimmte Anzahl von Wochen zu einem Datum hinzufügen, obwohl der Wochenwert veraltet ist, zB:
%Vor% Verwenden Sie einfach weekOfYear
:
Apple Dokumente für NSDateComponents
week
:
%Vor%Verfallserklärung
Verwenden Sie stattdessen weekOfYear oder weekOfMonth, je nachdem, was Sie beabsichtigen.
Ausgabe:
%Vor% Wenn Sie week
verwenden, erhalten Sie diese Warnung:
'week' ist veraltet: zuerst veraltet in ... - Verwenden Sie weekOfMonth oder weekOfYear, je nachdem, was Sie meinen
Bei Verwendung von weekOfMonth
oder weekOfYear
als Delta funktionieren sie gleich. Wo sie anders sind, ist, wenn sie verwendet werden, um die Wochennummer zu erhalten, wo Sie die Woche des Monats mit einer Auswahl von 6 oder der Woche des Jahres mit einer Reihe von 53 erhalten.
Sie können eine Kategorie für NSDate mit der folgenden Methode hinzufügen:
%Vor%Tags und Links objective-c ios ios8 nsdatecomponents nsdate