Пожалуйста, помогите мне найти две утечки в этом коде iOS - PullRequest
1 голос
/ 18 февраля 2012

В моем viewController.m У меня есть этот код:

self.movie = [[myMovie alloc]init];
self.movie.name = @"Iron man 2"; \\this line leaks

...

nameLbl = [[UILabel alloc] initWithFrame:CGRectMake(30, 20, 200, 20)]; \\this line leaks
nameLbl.backgroundColor = [UIColor clearColor];

В viewController.h У меня есть этот код:

@interface ViewController : UIViewController

{
    myMovie * movie;

    UILabel * nameLbl;
}

@property (nonatomic, retain) myMovie * movie;
@property (nonatomic, retain) UILabel * nameLbl;

И myMovie.h:

{
    NSString* name;
}

@property (nonatomic, retain) NSString* name;

myMovie.m:

#import "myMovie.h"

@implementation myMovie
@synthesize name, gross, desc;



-(void) dealloc
{
    self.name = nil;
    self.gross = nil;
    self.desc = nil;

    [super dealloc];
}

@end

Конечно, это только необходимый код.Я не могу понять, почему это протекает.Я не знаю, является ли это причиной, но мое приложение падает.

1 Ответ

4 голосов
/ 18 февраля 2012

Вытекающая строка - та, что выше: self.movie = [[myMovie alloc]init];

Измените ее на self.movie = [[[myMovie alloc]init] autorelease]; или добавьте [self.movie release]; в качестве строки сразу после нее.

...