On Apr 30, 2014, at 16:00 , Jonathan Hull <jh...@gbis.com> wrote:

> I also find that it is good practice to set variables returned by reference 
> to nil before passing them.
> 
> NSError *error = nil;
> 
> Otherwise, they will contain garbage, and cannot reliably be tested to see if 
> the value was set.

This point comes up every few months, and what you say isn’t technically 
correct.

It doesn’t do anything useful to set a NSError* value returned via reference to 
nil before the method invocation. According to the particular pattern in use 
here, if the method succeeds, there’s no valid value returned for the NSError*. 
In this case, the value may have changed from the value before the call. The 
changed value is garbage, from the caller’s point of view.

It is *not safe* to test ‘error’ on a successful return, regardless of how you 
initialize it.

_______________________________________________

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

Reply via email to