2016-05-15 80 views
0

我在教自己Swift(目前使用的是Xcode 7.3),并且第一次使用故事板。我正在编写一个基于OS X的应用程序,并且当用户试图在数据已经存在时加载数据时,我想显示警报。我已经阅读了以下线程,Add completion handler to presentViewControllerAsSheet,但是我在封闭/完成处理程序时遇到了麻烦。我“理论上”理解他们,但还不足以写出一个。如何在故事板中使用NSAlert

在上面的线程中,正在返回一个Struct。我只需要返回一个Int或Bool来指示用户是否要覆盖数据。

回答

1

您不需要创建第二个视图控制器。只需配置并显示一个对象:

@IBAction func loadData(sender : AnyObject) { 
    let dataAlreadyExists = true // assume this is always true 

    if dataAlreadyExists { 
     let alert = NSAlert() 
     alert.messageText = "Do you want to reload data?" 
     alert.addButtonWithTitle("Reload") 
     alert.addButtonWithTitle("Do not reload") 

     alert.beginSheetModalForWindow(self.view.window!) { response in 
      if response == NSAlertFirstButtonReturn { 
       // reload data 
      } 
     } 
    } 
} 
+0

谢谢。我无法弄清楚如何使用故事板获得对该窗口的引用。 –