Я использую dateByAddingComponents:toDate:options:
и dateByAddingUnit:value:toDate:options:
и используя необязательное связывание, чтобы получить дату из него. Как это:Когда dateByAddingComponents: toDate: options return nil?
guard let startOfNextMonth = calendar.dateByAddingComponents(oneMonthComponent, toDate: startOfThisMonth, options: []) else {
return nil
}
Где oneMonthComponent
это просто NSDateComponent со значением месяца равным 1.
Когда я прочитал об этом в документации они оба говорят что-то вроде:
возвратов nil, если дата выходит за пределы определенного диапазона приемника или если вычисление не может быть выполнено.
И мне было интересно, когда это точно вызвано. Если я просто добавлю месяц к дате, есть ли способ, который может когда-либо быть нулевым? Это потому, что некоторые различия в других календарных системах, где добавление некоторых единиц не имеет смысла?
Я искал вокруг и не смог найти экземпляр, где он будет возвращать нуль.
Есть ли что-нибудь, что могло бы сделать код выше, ноль? Что такое пример, когда добавление компонентов может быть нулевым?
Обратите внимание, что в Swift> = 3 имя метода - 'date (byAdding: to: options:)'. –