UINavigationController EXC_BAD - PullRequest
       3

UINavigationController EXC_BAD

0 голосов
/ 07 июля 2010

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

MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
CorrectedImageController *imageController = [[CorrectedImageController alloc] initWithNibName:@"CorrectedImageView" bundle:nil];
self.correctedImageViewController = imageController;
[imageController release];      
[delegate.navController pushViewController:imageController animated:YES];

Второй вид загружен, и изображение показано.Но я получаю сообщение EXC_BAD_ACCESS в консоли отладчика, и мое приложение блокирует пользовательский интерфейс.

Во втором представлении изображение загружается следующим образом:

- (void)viewDidLoad {
  MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
  [imageView setImage:delegate.correctedImage];
  [super viewDidLoad];
}

Может кто-нибудь сказать мне, что ясделал неправильно?Мой nib-файл выглядит так:

-File's Owner (Corrected Image Controller)
-First Responder (UIResponder)
-View (UIView)
--ImageView (UIImageView)

Свойство представления владельца файла связано с представлением.И свойство imageView связано с ImageView.

Кто-нибудь может сказать мне, что я сделал не так?

BR, Martin

1 Ответ

1 голос
/ 07 июля 2010

Я полагаю, это потому, что вы вызываете release для imageController (строка 5), а затем пробуете pushModalView объект, который вы только что выпустили (строка 6). Если ваш self.correctedImageViewController сохраняет imageController, вы можете нажать кнопку self.correctedImageViewController или выпустить imageController после нажатия.

...