Another iPhone Memory leak issue

2019-08-31 04:26发布

问题:

I have memory leak on jsonParser.

Here is my code

- (id) objectWithUrl:(NSURL *)url {
SBJsonParser *jsonParser = [SBJsonParser new];
NSString *jsonString = [self stringWithUrl:url];

// Parse the JSON into an Object
return [jsonParser objectWithString:jsonString error:nil]; }

This is the error message I'm getting, potential leak of an object allocated on line 192 and stored into 'jsonParser'

Please help.

回答1:

+new is equivalent to the [[SBJsonParser alloc] init] call so you're responsible to release jsonParser object. As you use it in return statement the easiest way to fix leak will be to autorelease it right after creating:

SBJsonParser *jsonParser = [[SBJsonParser new] autorelease];