On 28 Mar 2010, at 19:27, Michael Davey wrote:

That would be gut for the fact that my fields are released and set to nil whenever a new SELECT query is executed - however, I think I can do this by emptying the array when a new query is done and just counting the size of the array in my fetch method - thanks...

"emptying the array" is among the "etc." below ;-)

[fields removeAllObjects];

and, if you first add and then remove [all] correctly, then the balance between retain and release of the objects in the dictionary is not destroyed (not this way at least).

On 28 Mar 2010, at 18:11, Klaus Backert wrote:
...
In order to handle your fields instance variable correctly, what do you think about the following:

Create fields in the init method of your "MyClass" object (I don't know how you call this class):

fields  = [[NSMutableDictionary alloc] init];

by which you retain the fields dictionary.

And destroy fields in the corresponding dealloc method:

[fields release];
fields = nil;

If you want to use the fields dictionary anywhere in your code, you just do only calls like:

[fields addObject: ...];
[fields removeObject: ...];
MyOtherObject *myOtherObject = (MyOtherObject *)[fields objectForKey: ...];
etc.

but you do *not* invoke methods which initialize or dealloc the fields object.

Klaus

_______________________________________________

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 arch...@mail-archive.com

Reply via email to