On Dec 11, 2011, at 12:51 PM, Kyle Sluder wrote:

> On Sun, Dec 11, 2011 at 10:41 AM, Ben Kennedy <b...@zygoat.ca> wrote:
>> On 11 Dec 2011, at 8:58 am, Matt Neuburg wrote:
>> 
>>> Now, I think I know why [NSString string] is declared as returning an id - 
>>> it's because it's a class cluster,
>> 
>> Despite this however, why then don't the cluster classes implement a 
>> protocol (e.g. one named NSString), and then NSString can return an 
>> id<NSString> rather than a plain id?
> 
> Because it's a pain in the ass to define a protocol for each class
> with a convenience constructor that you expect might be subclassed.
> 
> In ToT clang we now have the `instancetype` keyword that can replace
> the `id` keyword in most of these cases:
> http://clang.llvm.org/docs/LanguageExtensions.html#objc_instancetype

Now that is a nice addition!

Charles_______________________________________________

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

Reply via email to