Dias entre 2 NSDates em um ano civil rápido

Estou criando um aplicativo de lembrete de aniversário. Quero que o usuário possa ver quantos dias faltam para o próximo aniversário de alguém.

Digamos que eu tenho umNSDate() = 2015-06-30 07:21:47 +0000

E aNSDate para o aniversário =1985-08-29 12:00:00 +0000

Como obteria o número de dias até o próximo aniversário? Eu usei algo comoesta que fornece um número negativo de dias desde o início real da data (que estão na casa dos milhares com datas de nascimento). Com isso, acrescentaria 365 à diferença numérica até que fosse positiva, mas ainda assim retornasse um número instável. Estou assumindo devido a anos bissextos ou algo assim.

Existe um método para isso que eu possa implementar? De alguma forma, igualar os componentes do ano para que ele esteja sempre comparando a partir do próximo aniversário e não a data de nascimento original?

Editar:

Aqui está a função que estou usando:

func daysBetween(date1: NSDate, date2: NSDate) -> Int {

    var calendar: NSCalendar = NSCalendar.currentCalendar()

    let date1 = calendar.startOfDayForDate(date1)
    let date2 = calendar.startOfDayForDate(date2)

    let flags = NSCalendarUnit.CalendarUnitDay
    let components = calendar.components(flags, fromDate: date1, toDate: date2, options: nil)

    return components.day
}

Com as datas de exemplo que eu publiquei, eu usaria assim:

// sampleDate = 1985-08-29 12:00:00 +0000
daysBetween(sampleDate, date2: NSDate())
// --> 10897

Seja positivo ou negativo, o número está na casa dos milhares. Estou procurando equalizar isso em número de dias para o próximo aniversário do calendário.

questionAnswers(2)

yourAnswerToTheQuestion