On Wed, Aug 27, 2008 at 2:24 PM, Ken Worley <[EMAIL PROTECTED]> wrote:
>
> On Aug 27, 2008, at 12:05 PM, Sherm Pendley wrote:
>
>> On Wed, Aug 27, 2008 at 1:48 PM, Kevin Kicklighter
>> <[EMAIL PROTECTED]> wrote:
>>>
>>>              NSDictionary *theError = [[[NSDictionary alloc] init]
>>> autorelease];
>>>
>>>              [quitScript executeAndReturnError:&theError];
>>>      }
>>
>> That still leaks the dictionary you created. Didn't you get my message
>> about that? You should do this instead:
>>
>>  NSDictionary *theError = nil;
>>  [quitScript executeAndReturnError: &theError];
>
> It's autoreleased - how could that leak?

You're right - I missed the autorelease.

The point stands though; you don't need to create the dictionary at
all, and doing so is just wasted CPU cycles. The
-executeAndReturnError: method will create a dictionary if one is
needed. That's why theError is passed by reference, so the method can
dereference it.

Discussion of this can be found at the URL below. It uses NSError
objects, but the general idea is the same:

    
<http://developer.apple.com/documentation/Cocoa/Conceptual/ErrorHandlingCocoa/CreateCustomizeNSError/chapter_4_section_2.html>

sherm--

-- 
Cocoa programming in Perl: http://camelbones.sourceforge.net
_______________________________________________

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 [EMAIL PROTECTED]

Reply via email to