Re: style question: when to use 'id' as return value?
Re: style question: when to use 'id' as return value?
- Subject: Re: style question: when to use 'id' as return value?
- From: William Bumgarner <email@hidden>
- Date: Mon, 17 Dec 2007 14:46:11 -0800
On Monday, December 17, 2007, at 02:33PM, "Chris Suter" <email@hidden> wrote:
>
>On 18/12/2007, at 9:25 AM, Bill Bumgarner wrote:
>
>> On Dec 17, 2007, at 2:14 PM, Sean McBride wrote:
>>> NSString has the method:
>>>
>>> + (id)stringWithString:(NSString *)aString
>>>
>>> Why is the return value not an 'NSString*' instead of an 'id'? Is
>>> this
>>> just a stylistic preference, or...?
>>
>> Because both NSString and NSMutableString Do The Right Thing when
>> that method is invoked and, thus, declaring that the method returns
>> a particular type of string -- mutable or immutable -- would be
>> wrong half the time.
>
>NSString is a superclass of NSMutableString so it wouldn't be wrong to
>say it returns NSString.
Wouldn't be wrong, but it would be misleading, inconvenient and make an error prone pattern a too convenient habit.
Not that (id) isn't without its problems...
b.bum
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden