Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AB extensions



Thanx to the keen eyesight of a couple of posters, I have been able to correct a few bugs in this code.

1) Memory leak when not releasing mutableCopy instances.
2) Properties may return as ABMultiValues instead of strings. In this case, we return the first value in the multi value prop.

Updated code can be obtained at : http://www.jtechsoftworks.com/samples/JTAddressBook.sit

Thanx all!

On Tuesday, September 30, 2003, at 08:15 PM, Shaun Wexler wrote:

On Sep 30, 2003, at 6:29 PM, Joseph Jones wrote:

Interesting. I thought convenience methods like mutableCopy gave you an already autoreleased object! I also thought that collections cleaned up their retained objects when they release. Is this not correct?

Nope.

Anything you +alloc, +allocWithZone:, -copy, -copyWithZone:, -mutableCopy, or -mutableCopyWithZone: returns a NEW object with a retain count of 1. Adding it to a collection which retains it bumps that to 2, and if you lose a reference to it, when the collection releases it (upon removal), it will leak. Any objects that are returned to you by calling methods should be autoreleased, and/or are owned by the receiver, so if you need to keep a reference to it yourself, you retain it and assign it to a pointer (id). You still don't own it, but if the actual owner (which created the object) releases it, whenever you release it, then it might be dealloc'ed.

Better revise your code ASAP... ;)
--
Shaun Wexler
MacFOH
http://www.macfoh.com



Thank you,
Joseph Jones
JTech Softworks, Inc. - http://www.jtechsoftworks.com
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.