> On 23 Oct 2014, at 04:31, Greg Parker <gpar...@apple.com> wrote: > > >> On Oct 22, 2014, at 12:04 PM, Gerriet M. Denkmann <gerr...@mdenkmann.de> >> wrote: >> >>> On 23 Oct 2014, at 01:37, Scott Ribe <scott_r...@elevated-dev.com> wrote: >>> >>> On Oct 22, 2014, at 12:19 PM, Jonathan Mitchell <jonat...@mugginsoft.com> >>> wrote: >>>> >>>> Surely the code that returns the object pointed to by temp has to ensure >>>> that the object has been correctly retained? >>> >>> So, maybe __autorelease? >> >> Tried: >> [ iv invoke ]; >> NSDictionary * __autoreleasing a; >> [ iv getReturnValue: &a ]; >> >> Result: no crash. >> >> So, indeed, __autoreleasing seems to be the answer. >> ( __autoreleasing is used to denote arguments that are passed by reference >> (id *) and are autoreleased on return.) > > __autoreleasing is not correct, although it might happen to work today. > __autoreleasing means the value stored in the variable is autoreleased. > -getReturnValue: does not autorelease the value it stores, so the annotation > does not match the behavior. > > The annotation that matches the behavior is __unsafe_unretained. Use that > instead.
Just tried this. Result: no crash, no leaks (Leaks Instrument). Perfect. Thanks a lot! Kind regards, Gerriet. _______________________________________________ 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com