Модальный контроллер вида был бы отличным выбором для пользовательского интерфейса. Это имеет преимущество
инкапсуляция вызова веб-службы и обработка всего этого в этом контроллере представления.
Я бы сказал «нет» для повторной аутентификации пользователя при каждом запуске приложения, я бы, вероятно, использовал NSUserDefaults
, как только они успешно аутентифицировались один раз, для хранения учетных данных, токена доступа или любой другой идентифицирующей информации, которая вам необходима Повторная проверка пользователя (без необходимости информировать пользователя о повторной аутентификации. В документации есть примеров того, как работать с NSUserDefaults
, и она поможет вам в этом вопросе.
Суть этого подхода заключается в создании нового подкласса контроллера представления, который обрабатывает веб-аутентификацию (и осуществляет доступ к NSUserDefaults
), а затем представляет ее модально через существующий контроллер представления.
Вы бы сделали что-то вроде следующего в вашем главном контроллере представления (или там, где вы хотите представить аутентификацию):
// ....
AuthViewController *authVC = [[AuthViewController alloc] init];
[self presentModalViewController:authVC animated:YES];
[authVC release];
// do your authentication from with AuthViewController
// ....
Тогда, каким бы способом он не означал, аутентификация завершена:
// ....
// note this is done within the AuthViewController
[self dismissModalViewControllerAnimated:YES];
// ....