Re: Storing bundle loaded main class instances in NSArray
Re: Storing bundle loaded main class instances in NSArray
- Subject: Re: Storing bundle loaded main class instances in NSArray
- From: Steve Christensen <email@hidden>
- Date: Wed, 08 Apr 2009 07:01:51 -0700
If your _instances variable is initialized using either
[NSMutableArray array] or [NSMutableArray arrayWithCapacity:...], it
will be autoreleased and become invalid. You can fix that by doing
something like [NSMutableArray array] retain] or using
[NSMutableArray alloc] initWithCapacity:...].
When an object is released, the underlying memory is reclaimed but
any variables that were referencing the object are unmodified so they
now point to garbage.
And as for zombies, Google is your friend. The first hit for
NSZombieEnabled gives a good description.
On Apr 8, 2009, at 6:15 AM, Daniel Luis dos Santos wrote:
The _instances mutable array is instantiated in the default init
method that is called on all other init methods. It is never
released. I am using an Auto release pool. The log writes ;
2009-04-08 13:56:53.189 TestRunner[2568:813] *** -[NSFileManager
fileExistsAtPath:]: unrecognized selector sent to instance 0x1126f0
When releasing a pointer does its value change ? or it just
releases the memory ?
What is that zombie thing you're talking about ?
On Apr 8, 2009, at 1:53 PM, Graham Cox wrote:
On 08/04/2009, at 10:33 PM, Daniel Luis dos Santos wrote:
if ((nil != saID) && ([[saID class] isSubclassOfClass: [NSData
class]])) {
//[_instances addObject: aDriverInstance];
When I uncomment the addObject line above, later in the code
NSFileManager throws a doesNotRespondToSelector exception, which
is very odd.
Still not enough to go on.
Where is _instances initialised? Is it released anywhere? What
does the exception log? Is it possible _instances could be being
released leaving a stale pointer that points to NSFileManager?
Have you run it with NSZombieEnabled turned on? Any difference?
Please post the *relevant* code.
--Graham
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden