2015-12-17 4 views
0

В моем приложении iOS я хочу, чтобы пользователь входил в систему с facebook на стр. 1, а затем перенаправлялся на страницу2. На странице 2 есть кнопка «Да» и «Нет». Теперь есть два сценария:Как условно выбрать следующий контроллер просмотра для навигации?

1-Если пользователь нажимает «Нет», он остается на странице2. Если он снова выйдет из приложения и журналов в будущем, он снова перейдет на страницу2, пока он не выталкивает «Да» в конце концов.

2-Пользователь нажимает «Да» на стр. 2. Теперь он перенаправляется на страницу 3. С этого момента каждый раз, когда пользователь выходит из системы и возвращается в систему, он сразу перенаправляется на страницу3, не видя page2. Это та часть, с которой мне трудно понять, как реализовать в моем коде. Есть ли способ инициализировать глобальную переменную при запуске моего кода «ViewController.swift», но обновить его значение новым значением в части кода, который выполняет действия, если пользователь нажимает «Да»? Я имею в виду, можно ли обновить значение переменной от одной вещи к другой при инициализации?

На самом деле, возможно, более короткий способ объяснить мой вопрос: могу ли я инициализировать переменную в swift с некоторым значением сначала, а затем после того, как пользователь выполнит определенное действие, такое нажатие кнопки, я меняю значение инициализации навсегда после этого это действие?

Также, пожалуйста, дайте мне знать, если вы знаете какие-либо другие способы достижения этого.

ответ

2

Да, конечно, вы можете. Я бы сказал, что это предпочтение пользователя. К счастью, для этого есть что-то вроде NSUserDefaults. Это постоянное хранилище, поэтому значение останется здесь навсегда (пока приложение не будет удалено или не будет восстановлено).

Например, если пользователь сказал да на странице 2 Вы пишете:

NSUserDefaults.standardUserDefaults().setBool(true, forKey: "usedSaidYes") 

иначе:

if NSUserDefaults.standardUserDefaults().boolForKey("usedSaidYes") == true { 
    // Redirect page 3 
} else { 
    // Redirect page 2 
} 

Вы должны проверить, если это значение существует до того, если вы не идете на странице 1

+0

Я сделал точно так, как вы сказали, и это сработало точно так же, как вы сказали. Большое вам спасибо Лори за то, что передали мне свои неоценимые знания. – NewbieWantsToMaster

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