Я изучаю разработку для IOS в Xcode 5. В приложении используется шаблон главной детали, который он заполняет из простого API, написанного на PHP.IOS App переключает представления после входа в систему
Я хочу, чтобы пользователи вошли в приложение, чтобы приложение могло отправлять запросы API от имени пользователя. Я объясню, что я создал (что может быть совершенно неверно):
Я создал вид входа и сделал его начальным. Мое имя входа контролируется классом с именем LoginViewController, который содержит метод «logUserIn». Когда кнопка «Войти» в представлении нажата, этот метод отправляет почтовый запрос API для проверки учетных данных пользователя, мое приложение затем считывает ответ, чтобы узнать, являются ли они действительными. Вот где я застрял.
После того как я Определив у меня есть действительный набор полномочий, которые я хочу сделать 2 вещи:
- Сохранить учетные данные для использования при последующих запросах
- переключатель с точки зрения входа обратно в мастер- Детальный просмотр
Если при загрузке приложения уже сохранены достоверные учетные данные, то loginViewController должен перейти прямо к представлению мастер-детали.
Вот мой LoginViewController.m:
#import "NTFYLoginViewController.h"
@interface NTFYLoginViewController()
@end
@implementation NTFYLoginViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Attempt to read saved credentials
// Check they still work
// Switch to master-detail view if credentials exist and are valid
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)logUserIn:(id)sender
{
NSString *username = self.usernameField.text;
NSString *password = self.passwordField.text;
// The code here talks to the api and checks the credentials,
// i've swapped it for pseudo code below as the actual code
// is irrelevant
if(user is logged in)
{
// Save credentials
// Switch to master-detail view
}
// Display login error
}
@end
Итак, вот что я действительно хочу знать:
- Это лучший способ пойти об этом?
- Как я могу переключиться на MasterViewController из моего LoginViewController?
@MrBr Пользовательские настройки по умолчанию - это плохая идея для сохранения учетных данных. Пользовательские значения по умолчанию сохраняются в файле plist в незашифрованном виде. Необходимо использовать брелок. –