Ну, NSDate - это конкретная дата и время, а не только месяц и год.Если у вас все в порядке с чем-то вроде каждого 1 июля в 12:00 (или в другое время / день), то вы можете использовать NSDateComponents для установки компонентов даты.
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setMonth:5];
[comps setYear:2004];
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *date = [gregorian dateFromComponents:comps];
[comps release];
[gregorian release];
Это прямо из документации Apple,Если вы хотите получить следующий год, вы можете использовать dateByAddingTimeInterval:
в NSDate для возврата новой даты (или вы можете использовать оригинальные NSDateComponents и setYear:
в цикле).