ImageView.image = ноль сбой после спящего / возобновленного приложения - PullRequest
0 голосов
/ 03 сентября 2011

В одном из представлений моего приложения есть метод для установки макета «по умолчанию» - setDefaultView. В этом методе я перебираю подпоказы, и если один из них является ImageView, он устанавливает для изображения значение nil.

Это прекрасно работает, когда мое приложение изначально запускается из XCode. Но когда я переводю приложение в спящий режим, нажимая кнопку «Домой», затем возвращаюсь в приложение и запускаю setDefaultView, в этом методе происходит сбой, когда для изображений установлено значение nil.

Любые предложения о том, что может быть не так?

Исходный код:

-(void)setDefaultView {

// Hide all equals labels and images; set all images to nil
for (UIView *view in [secondScrollerView subviews]) {

    if ([view isKindOfClass:[UILabel class]]) {

        UILabel *label = (UILabel *)view;

        if ([label.text isEqualToString:@"="]) {
            label.hidden = YES;
        }
    }

    if ([view isKindOfClass:[UIImageView class]]) {

        UIImageView *imageView = (UIImageView *)view;
        imageView.hidden = YES;

        imageView.image = nil;    // Crashes here
    }
}

// do other stuff here...
}

1 Ответ

0 голосов
/ 03 сентября 2011

Наиболее вероятно, что вы установили imageView.image для объекта с автоматическим выпуском.Строка imageView.image = nil; освобождает старое изображение, что будет проблемой, если оно уже выпущено.

...