2016-05-15 45 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

謝謝。我無法弄清楚如何使用故事板獲得對該窗口的引用。 –