Had been looking for this myself, but using the example above gave me from year 0001 dates.
Here's my alternative, incorporated with smorgan's more elegant mod suggestion though beware I haven't leak tested this yet:
NSDate *myDate = [NSDate date];
// Get the nearest 5 minute block
NSDateComponents *time = [[NSCalendar currentCalendar]
components:NSHourCalendarUnit | NSMinuteCalendarUnit
fromDate:myDate];
NSInteger minutes = [time minute];
int remain = minutes % 5;
// Add the remainder of time to the date to round it up evenly
myDate = [myDate addTimeInterval:60*(5-remain)];