NSDateFormatter documentation indicates that -initWithDateFormat:allowNaturalLanguageString: is the recommended initializer for new designs, and furthermore that -init is not "available" after 10.5.
However, I find kind of the opposite: -initWithDateFormat:allowNaturalLanguageString gives unexpected results, but -init works perfectly. I get the same results, building with either 10.6 or 10.7 SDK. I'm running in 10.7. --- Code -------- NSLog(@"behavior = %ld", [NSDateFormatter defaultFormatterBehavior]) ; NSString* formatString = @"yyyy.MM.dd 'at' HH:mm:ss.SSS zzz" ; NSDateFormatter* oldFormatter ; oldFormatter = [[NSDateFormatter alloc] init] ; [oldFormatter setDateFormat:formatString] ; NSDateFormatter* newFormatter ; newFormatter = [[NSDateFormatter alloc] initWithDateFormat:formatString allowNaturalLanguage:NO] ; // This makes it worse: // [newFormatter setFormatterBehavior:NSDateFormatterBehavior10_4] ; NSDate* date = [NSDate date] ; NSString* dateString ; dateString = [oldFormatter stringFromDate:date] ; NSLog(@"old: %@", dateString); dateString = [newFormatter stringFromDate:date] ; NSLog(@"new: %@", dateString); [oldFormatter release] ; [newFormatter release] ; ---- Result ---- behavior = 1040 old: 2011.11.11 at 17:20:59.493 PST new: yyyy.MM.dd 'at' HH:mm:ss.SSS ---------------- Behavior 1040 is NSDateFormatterBehavior10_4, which is the newest behavior available. As you can see, the old method works as expected, but the new method unexpectedly returns its format string. If I uncomment the line after "This makes it worse", then instead of the format string I get an empty string. What is going on, please? Bonus question: How can -init be not "available"? Does this just mean that it defaults to the super -[NSObject init] ? Thanks, Jerry Krinock _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com