On Feb 16, 2014, at 1:03 PM, Jens Alfke <[email protected]> wrote:
> On Feb 16, 2014, at 10:22 AM, Kevin Meaney <[email protected]> wrote:
> 
>> I didn't say take them out. I said why do they need to return an 
>> autoreleased object. Why can't they just return an object like alloc init... 
>> does.
> 
> Because if they returned an object that wasn't autoreleased (i.e. that the 
> caller needs to release), non-ARC code that called the method would leak the 
> returned object.
> 
> These methods have been around for a long time and their semantics can't be 
> changed just because ARC now exists, at least not until some hypothetical 
> future OS release where ARC becomes mandatory.

Also, the ARC model doesn’t support a mandatory cut-over like that.  Returning 
+0 is essentially part of the calling convention: if you know exactly what 
you’re calling, and you know exactly what’s calling it, maybe then you could 
automatically change it.  In Objective-C both of those conditions are 
impossible.

John.
_______________________________________________

Cocoa-dev mailing list ([email protected])

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to