Привет, у меня три взгляда, и я хотел бы добиться чего-то, что не работает. У меня есть главное представление, если пользователь нажимает определенную кнопку, код проверяет, зарегистрирован он или нет:
если да, его отправляют непосредственно на просмотр B, если не сначала, он переходит на просмотр входа в систему.
После успешного входа в систему у меня есть этот код для просмотра b:
incidencias =[[MisIncidencias alloc]
initWithNibName:@"MisIncidencias"
bundle:nil];
[self.view addSubview:incidencias.view];
Дело в том, что я хотел бы избавиться от вида входа в систему, потому что он отображается там под плюсом, если пользователь нажимает назад, он возвращается к входу в систему, но если я добавляю:
[self.view removeFromSuperview];
до или после [self.view addSubview:incidencias.view]
, я просто перенаправлен на главный экран;
Я не знаю, объяснил ли я сам четко, но, например, в Android вы можете просто позвонить в финиш, а затем вызвать следующее действие, и действие входа в систему исчезает, но здесь, в iphone, я не знаю, что делать.
Я нашел другое решение - добавлять оба представления один за другим, но это не очень хорошо работает:
incidencias=[[MisIncidencias alloc]
initWithNibName:@"MisIncidencias"
bundle:nil
];
[self.view addSubview:incidencias.view];
login=[[LoginViewController alloc]
initWithNibName:@"LoginViewController"
bundle:nil];
[self.view addSubview:login.view];
это не работает, потому что incidencias запускается и не ждет завершения входа в систему.
спасибо
РЕДАКТИРОВАТЬ: благодаря BeOn я изменил свой код, добавив протокол:
LoginViewControllerDelegate
и этот метод внутри viewController:
- (void)loginSucceededFromController:(LoginViewController*)viewController {
[viewController.view removeFromSuperview];
incidencias =[[MisIncidencias alloc]
initWithNibName:@"MisIncidencias"
bundle:nil];
[self.view addSubview:incidencias.view];
}
в LoginViewController у меня есть
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex: (NSInteger)buttonIndex{
if(self.delegate)
[self.delegate loginSucceededFromController:self]
}
он получает ошибку:
Семантическая проблема: свойство «делегат» не найдено для объекта типа «LoginViewController *»
Если вход в систему успешен, пользователь видит предупреждение, и когда он нажимает кнопку ОК, вызывается указанный выше метод.
что еще мне добавить? Я начинаю с iphone, и я не очень хорошо понимаю, что такое делегат (я из Явы)