Re: Newbie question: setting a NSNumber
Re: Newbie question: setting a NSNumber
- Subject: Re: Newbie question: setting a NSNumber
- From: Andy Lee <email@hidden>
- Date: Tue, 21 May 2002 16:24:26 -0400
At 1:12 PM -0700 5/21/02, David Sinclair wrote:
- (void) setBlah:(NSNumber *)value
{
[blah autorelease];
blah = [value copy];
}
or
- (void)setBlah:(NSNumber *)value
{
[value retain];
[blah release];
blah = value;
}
(Any comments of which is best -- or another variation? I've seen
several different forms in various places.)
This seems so trivial an operation... but it isn't working. It
crashes when the autorelease pool is released in the main loop,
which suggests the retain etc stuff is wrong, but it looks okay to
me.
Is "blah" initialized in your class's init method? If not, its value
is not predictable. If it happens to be zero (nil), then you won't
notice the bug, but if it points to a bogus memory address, the
attempt to release it will crash your program.
--Andy
_______________________________________________
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.