Я использую UITableView внутри popover (iPad), чтобы выбрать изображение из каталога документов. Это изображение затем отображается в UIImageView. Вот код, который я использую, чтобы поместить новое изображение в UIImageView:
- (void)changeImage:(NSString *)imageFilename {
NSLog(@"changeImage to: %@", imageFilename);
NSFileManager *fileMgr;
fileMgr = [NSFileManager defaultManager];
NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsDir = [dirPaths objectAtIndex:0];
NSString *imagePath = [docsDir stringByAppendingPathComponent:imageFilename];
UIImage *newImage = [UIImage imageWithContentsOfFile:imagePath];
NSLog(@"Path for new image: %@", imagePath);
self.imageView.image = newImage;
[newImage release];
[fileMgr release];
}
Это всегда хорошо работает в первый раз, но всякий раз, когда я пытаюсь снова изменить отображаемое изображение из всплывающего окна, я получаю следующую ошибку:
Программа получила сигнал: «EXC_BAD_ACCESS».
Я сузил проблему до этой строки:
self.imageView.image = newImage;
Я пытался добавить следующее до этой строки:
self.imageView.image = nil;
Это не имело никакого значения. Я не могу понять, почему это работает в первый раз, но больше не повторится в следующий раз.
Буду очень признателен за любую помощь.