2011-07-13 2 views
1

Я разрабатываю одно приложение iphone, в котором я хочу переключить контроллер просмотра, проверив пользовательские ошибки. поэтому я сделал следующее:Переключение контроллера представления в режиме viewdidload

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

if ([defaults objectForKey:@"keyString"] != nil) { 
    nextViewController *redirectView = [[nextViewController alloc] initWithNibName:@"nextViewController" bundle:[NSBundle mainBundle]]; 
self.nextView = redirectView; 
[self presentModalViewController:self.nextView animated:YES]; 
} else { 
[defaults setObject:@"newValue" forKey:@"keyString"]; 
} 

Не работает. Правильно ли это? Если нет, кто-нибудь может мне сказать, как это сделать.

+0

вы с помощью навигационного контроллера или нет? –

+0

Пожалуйста, укажите более подробную информацию в вопросе. Что значит «не работает»? Условие if не становится истинным, или условие истинно, но представление не отображается? – taskinoor

+0

@ Aman No .. Am using View controller ... – itdeeps

ответ

1

Не назначайте redirectView для self.nextView. Передайте это прямо как этот

[self presentModalViewController:redirectView animated:YES]; 
+0

Это не поможет .. Все еще никаких изменений ... – itdeeps

+0

Что такое nextView в вашем случае на самом деле? где вы его объявили? – booleanBoy

+0

netxView - это объект, который я создал для nextViewController в интерфейсе (файл .h). – itdeeps

1

Добавьте строку

[self.view addSubview:nextView]; 

вместо

[self presentModalViewController:self.nextView animated:YES]; 
+0

Его отображение исключения в консоли, как показано ниже: [nextViewController superview]: непризнанный селектор отправлен в экземпляр – itdeeps

+0

вы сделали следующее представление как свойство в .h? какое исключение это дает вам –

+0

Да, я объявил следующее представление в файле .h ... Фактически перенаправление работает нормально, когда я использовал его в других действиях (что происходит при нажатии кнопки), но не работает в режиме viewdidload ... – itdeeps

0
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

if ([defaults objectForKey:@"keyString"] != nil) 
{ nextViewController *redirectView = [[nextViewController alloc]init]; 
[self presentModalViewController:redirectView animated:YES]; 
redirectView=nil; 
} 
else { 
[defaults setObject:@"newValue" forKey:@"keyString"]; 

}