Как написать NSAlert в последней версии Swift?

Я пытаюсь написать это предупреждение:

func alertUser() {
        let alert = NSAlert()
        alert.messageText = "message 1"
        alert.informativeText = "info1"
        alert.informativeText = "info2"
        alert.addButton(withTitle: "NO")
        alert.addButton(withTitle: "YES")
        alert.beginSheetModal(for: self.view.window!) { (returnCode: NSModalResponse) -> Void in
            print ("returnCode: ", returnCode)
        }

но я получаю ужасное сообщение unexpectedly found nil while unwrapping an Optional value в строке alert.beginSheetModal

Пожалуйста, скажите мне, что я делаю неправильно.

Спасибо


person ICL1901    schedule 10.09.2016    source источник


Ответы (1)


Вы должны запустить свой код из viewDidAppear, потому что ваш контроллер представления не создал объект окна в viewDidLoad.

override func viewDidAppear() {
    super.viewDidAppear()

    alertUser()
}
person Michael Samoylov    schedule 17.09.2016
comment
Спасибо, Михаил, это решение! - person ICL1901; 17.09.2016