如何在故事板中使用NSAlert

时间:2016-05-15 21:32:00

标签: swift swift2

我正在自学Swift(目前正在使用Xcode 7.3),我第一次使用故事板。我正在编写一个基于OS X的应用程序,当用户在数据已经存在时尝试加载数据时,我想显示警报。我已经阅读了以下帖子Add completion handler to presentViewControllerAsSheet但是我无法绕过闭包/完成处理程序。我在理论上理解它们,但还不够好写一个。

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

1 个答案:

答案 0 :(得分:1)

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

@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
            }
        }
    }
}