Я получаю EXC_BAD_ACCESS при использовании анимированного метода viewWillAppear: (BOOL) - PullRequest
1 голос
/ 29 ноября 2010

Итак, я получаю доступ к некоторым данным (настройкам) из списка .plist, когда появляется мое представление. Когда я использую метод viewDidAppear:(BOOL)animated для доступа к этим данным, все работает просто отлично. Но когда я получаю доступ к данным, используя метод viewWillAppear:(BOOL)animated для доступа к своим данным, все останавливается, и я получаю ошибку EXC_BAD_ACCESS.

Может кто-нибудь помочь мне с этим?

- (void)viewDidAppear:(BOOL)animated {

    NSLog(@"View Will Appear method");

    NSString *filePath = [self settingsFilePath];
    if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {

        NSArray *array = [[NSArray alloc] initWithContentsOfFile:filePath];

        if ([[array objectAtIndex:0] intValue] == 0) {
            UIImage *imageLow = [UIImage imageNamed:@"image1.png"];
            [object1 setImage:imageLow];
            [imageLow release];
            unitRatio = 1.8;
        }
        else if ([[array objectAtIndex:0] intValue] == 1) {
            UIImage *imageHigh = [UIImage imageNamed:@"image2.png"];
            [object1 setImage:imageHigh];
            [imageHigh release];
            unitRatio = 0.9;
        }

        [array release];

    }
    else {
        UIImage *imageLow = [UIImage imageNamed:@"image1.png"];
        [object1 setImage:imageLow];
        [imageLow release];
        unitRatio = 1.8;
    }

}

Ответы [ 2 ]

4 голосов
/ 29 ноября 2010

Вызовы [imageLow release] и [imageHigh release] не нужны и вызовут сбой. Объекты, возвращаемые imageNamed:, предварительно выпущены автоматически, поэтому вам не нужно освобождать их самостоятельно.

2 голосов
/ 29 ноября 2010

Кроме того, у вас должен быть вызов super в вашем методе viewWillAppear:

[super viewWillAppear:animated]

Это не то, что вызывает сбой, но в документах говорится, что это необходимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...