2010-07-06 4 views
0

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

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]; 
} 

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

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

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

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

BR, Martin

ответ

1

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

Смежные вопросы