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]
