Wann liefert dateByAddingComponents: toDate: options den Wert nil?

Ich habe @ verwenddateByAddingComponents:toDate:options: unddateByAddingUnit:value:toDate:options: und optionale Bindung verwenden, um das Datum zu ermitteln. So was

guard let startOfNextMonth = calendar.dateByAddingComponents(oneMonthComponent, toDate: startOfThisMonth, options: []) else {
    return nil
}

WooneMonthComponent ist nur eine NSDateComponent mit dem Monatswert 1.

Wenn ich darüber lese, sagen beide in der Dokumentation etwas wie:

Gibt null zurück, wenn das Datum außerhalb des definierten Bereichs des Empfängers liegt oder wenn die Berechnung nicht durchgeführt werden kann.

Und ich habe mich gefragt, wann genau das verursacht wird. Wenn ich nur einen Monat zu einem Datum hinzufüge, gibt es einen Weg, der jemals Null sein könnte? Liegt das an einigen Unterschieden bei den anderen Kalendersystemen, bei denen das Hinzufügen einiger Einheiten keinen Sinn ergibt?

Ich habe mich umgesehen und konnte keine Instanz finden, in der es null zurückgeben würde.

Gibt es irgendetwas, das den obigen Code auf Null bringen könnte? Was ist ein Beispiel, in dem das Hinzufügen von Komponenten null sein könnte?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage