Вам нужно инициализировать больше компонентов:
for (int i = 0; i < 12; i++)
{
[components setWeek:i];
[components setWeekday:1];
d = [cal dateFromComponents:components];
NSLog(@"Sunday,Week %d:%@", i,d);
}
Output:
Sunday,Week 0:2011-12-25 08:00:00 +0000
Sunday,Week 1:2012-01-01 08:00:00 +0000
Sunday,Week 2:2012-01-08 08:00:00 +0000
Sunday,Week 3:2012-01-15 08:00:00 +0000
Sunday,Week 4:2012-01-22 08:00:00 +0000
Sunday,Week 5:2012-01-29 08:00:00 +0000
Sunday,Week 6:2012-02-05 08:00:00 +0000
Sunday,Week 7:2012-02-12 08:00:00 +0000
Sunday,Week 8:2012-02-19 08:00:00 +0000
Sunday,Week 9:2012-02-26 08:00:00 +0000
Sunday,Week 10:2012-03-04 08:00:00 +0000
Sunday,Week 11:2012-03-11 08:00:00 +0000