One way to do so is to convert the string to an NSDate using the NSDateFormatter with the 2012-06-04 format, and then convert the NSDate back to a string using the June 4, 2012 format:
NSString* input = @"2012-06-04";
NSDateFormatter* df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd"];
NSDate* date = [df dateFromString:input];
[df setDateFormat:@"MMMM d, yyyy"];
return [df stringFromDate:date];
The format string's syntax is described in UTS #35.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…