> Plus, answer this, how is the behavior you described even remotely useful?

The only use I can think is for user interface validation/limitation. For example, let's say you've specified a year and month, you could use this function to determine the range of values that day can take within that month. I can't think of a use where the larger unit is NSCalendarUnitWeek though. Maybe it's useful in non-Gregorian calendars.

If you want to work out the start date and length of a week, I'm sure you've probably spotted the Leopard only:

-[NSCalendar rangeOfUnit:startDate:interval:forDate:]

method. There's also

-[NSCalendarDate years:months:days:hours:minutes:seconds:sinceDate:]

which might be useful for your purposes.

The example where you pass 34 for the day is clearly a special case and I certainly wouldn't rely on it, especially since the documentation says that valid values are 1 through 31.

>And additionally, your logic doesnÃ¢â‚¬â„¢t explain the 31 days in a year.
>How is that supposed to be desired behavior?

Within a particular year, the day can take the value 1 to 31. It's not saying that there's 31 days in a year.

> Look, at this point, there is no way you can convince me that youÃ¢â‚¬â„¢re way
> makes more sense or is in any way more useful.

I'm not trying to convince you that it makes more sense or is any way more useful. I'm just explaining to you the way it is, or trying to at least.

> And if you canÃ¢â‚¬â„¢t see the obvious logical expectation that everybody else has
> (ask around by just showing them the method description and see what they
> say) then thereÃ¢â‚¬â„¢s little point in me trying to convince you.

Of course I can see the logical expectation that everyone else has. What you expected and want is clearly more useful which is presumably why Apple added a method for that purpose.