Monday, February 15, 2010

Programmer - [objective-c] why shouldn't I release this string?

Programmer Question

Look at the following method:



-(void)updateProfile:(Profile *)profile WithJSON:(NSString *)JSON;
{
SBJSON *parser = [[SBJSON alloc] init];
NSDictionary *object = [parser objectWithString:JSON error:nil];

NSNumberFormatter *nf = [[NSNumberFormatter alloc] init];
[nf setPositiveFormat:@"#,##0"];

profile.displayName = [object valueForKey:@"displayName"];
profile.profileURL = [object valueForKey:@"profileURL"];

NSString *rep = [object valueForKey:@"reputation"];
profile.reputation = [[nf numberFromString:rep] intValue];
//[rep release]; <-Why not release?

[nf release];
//[object release]; <-Why not release?
[parser release];
}


I have commented out two lines, which gives me EXC_BAD_ACCESS if not.

Can someone explain to me why it's wrong to release these objects?

No comments:

Post a Comment

LinkWithin

Related Posts with Thumbnails