2016-09-10 1 views
4

Я пытаюсь написать это предупреждение:Как написать NSAlert в последнем быстром?

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

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

Благодаря

+1

Я предлагаю проверить, чтобы увидеть, если '' self.view.window' был nil' ... – Rob

+1

Возможный дубликат http://stackoverflow.com/questions/29433487/create-an-nsalert- с-swift – Moritz

+0

Спасибо Эрик, но я ищу панель. Ваш вопрос разрешает это? –

ответ

4

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

override func viewDidAppear() { 
    super.viewDidAppear() 

    alertUser() 
} 
+0

Спасибо, Майкл, это решение! –