I have in the past used the below function to add on a specific time interval using NSDateComponents to an existing date.
NSDateComponents
(NSDate *)dateByAddin
I prefer to use dateByAddingUnit. It's more intuitive
return [NSDate[[NSCalendar currentCalendar] dateByAddingUnit:NSCalendarUnitMonth value:3 toDate:toDate options:0];