Following everyone's advice, I came up with the following, more
compact, solution
- (NSDictionary *) dates:(int) inYear
{
NSMutableDictionary *result =
[NSMutableDictionary dictionary];
NSMutableArray *days =
[NSMutableArray array];
int startMonth
= 1;
NSTimeZone *tz
= [NSTimeZone localTimeZone];
NSCalendarDate *date =
[NSCalendarDate dateWithYear: inYear
month: startMonth
day: 1
hour: 0
minute: 0
second: 0
timeZone: tz];
[result setObject: days forKey: [date descriptionWithCalendarFormat:
@"%B"]];
while ([date yearOfCommonEra] == inYear)
{
date = [date dateByAddingYears: 0
months: 0
days: 1
hours: 0
minutes: 0
seconds: 0];
if ([date monthOfYear] > startMonth)
{
days = [NSMutableArray array];
[result setObject: days forKey: [date
descriptionWithCalendarFormat: @"%B"]];
startMonth++;
}
[days addObject: [date descriptionWithCalendarFormat: @"%a %m/%d/%y
%I:%M %p"]];
}
return result;
}
On Dec 22, 2008, at 12:38 PM, mmalc Crawford wrote:
On Dec 22, 2008, at 9:22 AM, Nathan Vander Wilt wrote:
[Good advice, except:]
NSCalendar can handle overflow, so you can have an NSDateComponent
that says something like Year:2008 Month:1 Days:364 and you will
get the right date from components.
You should not rely on this behaviour.
mmalc
(With thanks for sage advice to Chris Kane.)
_______________________________________________
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/kentozier%40comcast.net
This email sent to kentoz...@comcast.net
_______________________________________________
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