Почему мой образ пропадает или зомби? - PullRequest
0 голосов
/ 19 октября 2011

У меня есть приложение, которое переключает изображение, но у меня много проблем ... сначала "del" - это de AppDelegate, а "displayImage" определен в его .m, "equiz" - это целое число, но всеизображения называются «1», «2» и т. д.

Так что, когда я использую этот код, я получаю утечки, но без сбоев:

    UIImage *img = [UIImage imageNamed:[NSString stringWithFormat:@"%d",equiz]];
    UIImageView *imgView = [[UIImageView alloc] initWithImage:img];
    imgView.frame = del.displayImage.frame;
    del.displayImage = imgView;
    [imgView release];

Тогда я использую это, но у меня происходит сбойкогда я перехожу на «рабочий стол» устройства и возвращаюсь в приложение:

    UIImage *img = [UIImage imageNamed:[NSString stringWithFormat:@"%d",equiz]];
    del.displayImage.image = img;
    [img release] //"that line"

Затем вы говорите: «вы освобождаете объект, который вам не принадлежит», и я говорю: «Если я удаляю"та линия" у меня та же утечка D:

Может кто-нибудь помочь мне с этим вопросом? Большое спасибо заранее: D

1 Ответ

0 голосов
/ 20 октября 2011

Привет, у меня была похожая проблема, и это было из NSString.Поэтому мое решение было таким: в .h файле создайте

NSString *imageName;
@property(nonatomic, retain)NSString *imageName;

, затем в .m файле сделайте это

@ synthesize imageName;...

imageName = [NSString stringWithFormat:@"%d",equiz];
UIImage *img = [UIImage imageNamed:imageName];
    UIImageView *imgView = [[UIImageView alloc] initWithImage:img];
    imgView.frame = del.displayImage.frame;
    del.displayImage = imgView;
    [imgView release];

...

и в методе dealloc отпустите imageName ...

- (void)dealloc {
   [imageName release];
   [super dealloc];
}

По мне это работает .. Надеюсь, что помощь - это решение дляты тоже.

...