2016-05-05 3 views
1

Привет друзья Меня зовут Тони Дханд. Я новичок в разработке IOS. Теперь я пытаюсь решить проблему. Я собираюсь войти в приложение ios и после входа в систему открыть панель управления.Изменение MainViewController в ios с Swift после входа в систему

Но когда я перезапущу приложение, он снова показывает экран входа в систему. Для этого я хочу изменить начальное представление в начале приложения после входа в систему, другими словами, я хочу изменить представление при запуске. Я не знаю, что делать. пожалуйста, помогите мне в решении этой проблемы или дайте свою идею для этого.

Заранее спасибо

+0

Просто измените rootviewcontroller после входа в систему. –

+0

Просто ознакомьтесь с этим вопросом: - http://stackoverflow.com/questions/28366407/switching-view-controller-after-login-best-practise –

ответ

1

Держите статус входа в ваших NSUserDefaults. Когда вы входите в систему успешно, установите для него значение TRUE.

В следующий раз, когда вы запустите приложение, проверьте значение переменной, хранящейся в NSUserDefaults в AppDelegate.

Если это правда, то ваш УСПЕХ ПРИНИМАНИЯ, а затем перейдите к своему панели мониторинга панели управления. В противном случае перейдите к элементу ViewController входа в систему.

Введите следующий код после успешной регистрации

[[NSUserDefaults standardUserDefaults]setBool:TRUE forKey:@"isLogin"]; 

Добавьте следующий код в ваших AppDelegate didFinishLaunchingOptions.

if ([[NSUserDefaults standardUserDefaults]boolForKey:@"isLogin"]) { 
    // Already Logged in   
    // Set your Dashboard Page as Root View Controller 
} 
else{ 
    // Not Logged in 
    // Set your Login Page as Root View Controller 
} 

Надеется, что это помогает ...

3

Когда пользователь входит в системе успешно вы можете сохранить "Login Status", как -

let defaults = NSUserDefaults.standardUserDefaults() 
defaults.setBool(true, forKey: "isUserLoggedIn") 
defaults.synchronize() 

Затем в файле "AppDelegate.swift" вы можно проверить состояние входа в систему, когда приложение запускается в функции «didFinishLaunchingWithOptions», как -

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
    // Override point for customization after application launch. 

    let storyboard = UIStoryboard(name: "Main", bundle: nil) 

    let defaults = NSUserDefaults.standardUserDefaults() 
    let isUserLoggedIn = defaults.boolForKey("isUserLoggedIn") 

    if(!isUserLoggedIn) { 
     self.window?.rootViewController = storyboard.instantiateViewControllerWithIdentifier("LoginViewController") 
    } else { 
     self.window?.rootViewController = storyboard.instantiateInitialViewController() 
    } 

    return true 
} 

Наконец, когда пользователь выходит из системы вы можете изменить авторизованы как ложная, как -

let defaults = NSUserDefaults.standardUserDefaults() 
defaults.setBool(false, forKey: "isUserLoggedIn") 
defaults.synchronize() 

let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate 
appDelegate.window?.rootViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("LoginViewController") 

Надежды, что помогает!

+0

Хороший ответ, а также изображение профиля .. понравилось и понравилось: D – NSPratik

+0

haha. Спасибо, сэр :), я просто изучаю материал: P –

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