Quando dateByAddingComponents: toDate: options retorna nulo?
Eu tenho usadodateByAddingComponents:toDate:options:
edateByAddingUnit:value:toDate:options:
e usando a ligação opcional para obter a data. Como isso:
guard let startOfNextMonth = calendar.dateByAddingComponents(oneMonthComponent, toDate: startOfThisMonth, options: []) else {
return nil
}
OndeoneMonthComponent
é apenas um NSDateComponent com o valor do mês definido como 1.
Quando li sobre isso, na documentação os dois dizem algo como:
Retorna nulo se a data estiver fora do intervalo definido do receptor ou se a computação não puder ser realizada.
E eu tenho me perguntado, quando isso é exatamente causado. Se estou apenas adicionando um mês a uma data, existe uma maneira que poderia ser nula? Isso ocorre porque algumas diferenças nos outros sistemas de calendário, onde a adição de algumas unidades não faz sentido?
Eu pesquisei e não consegui encontrar uma instância em que retornaria nulo.
Existe algo que possa tornar o código acima nulo? Qual é um exemplo em que a adição de componentes pode ser nula?