2015-07-07 1 views
0

поэтому у меня есть следующий код в разделе viewDidAppearЕсть ли в любом случае отображение UIAlertController ТОЛЬКО при запуске приложения?

let theAlert = UIAlertController(title: "SUP", message: "DAWG", preferredStyle: UIAlertControllerStyle.Alert) 
    theAlert.addAction(UIAlertAction(title: "sup!", style: UIAlertActionStyle.Default, handler: nil)) 
    self.presentViewController(theAlert, animated: true, completion: nil) 

Не против сообщения, я только что пришел с ними случайно: 3

Итак, есть в любом случае для меня только для отображения это сообщение, когда приложение запускается? Потому что, когда я возвращаюсь с другого контроллера, это сообщение появляется снова.

ответ

2

Установите флажок, чтобы указать, отображается ли сообщение.

// first check to see if the flag is set 
if alertShown == false { 
    // show the alert 
    alertShown = true 
} 

Для этого поведения упорствовать через запуски, и показать только при первом запуске, сохранить NSUserDefaults.

// when your app loads, check the NSUserDefaults for your saved value 
let userDefaults = NSUserDefaults.standardUserDefaults() 
let alertShown = userDefaults.valueForKey("alertShown") 
if alertShown == nil { 
    // if the alertShown key is not found, no key has been set. 
    // show the alert. 
    userDefaults.setValue(true, forKey: "alertShown") 
} 

Вы можете обрабатывать оба этих в контроллере представления корневой viewDidLoad.

+0

Для меня нет разных результатов. –

+0

Наверное, вопрос интеграции этого кода и правильного определения флага –

+0

Хм, не думаю. Вы получаете то, что я говорю? Я хочу, чтобы при загрузке экрана я получил UIAlert, но когда я нажимаю на другой экран и возвращаюсь на главный экран, UIAlert не должен появляться. –

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