我寫了一個簡單的函數,它在被調用時顯示一個警報。我想在幾個viewControllers中使用這個函數。現在,我有相同的代碼複製粘貼到每個viewController的底部,但我不禁想到有一個更好的方法。如何在Swift中定義全局函數?
如何定義一個可以從任何viewController調用的函數?
僅供參考,我將在下面粘貼我的功能,但這是一個普遍問題。我希望能夠找到一種能夠在所有視圖控制器中以相同方式處理鍵盤管理的雄辯方法。
func displayAlert(title:String, error:String, buttonText: String) {
// Create the alert
var alert = UIAlertController(title: title, message: error, preferredStyle: UIAlertControllerStyle.Alert)
// Add an action
alert.addAction(UIAlertAction(title: buttonText, style: .Default, handler: { action in
// Dismiss when the button is pressed
self.dismissViewControllerAnimated(true, completion: nil)
}))
// Add it to viewController
self.presentViewController(alert, animated: true, completion: nil)
}
打電話給他們你找到任何方法來保持在單獨的類中的所有鍵盤代碼。 – 2016-08-04 13:09:39
我能夠將UIViewController的子類放在一起,工作正常。但這有點冒險。我認爲一個協議是最好的辦法,但是當我最近嘗試重做時,我遇到了添加NSNotificationCenter和Swift的兼容性問題。關於Cocoa在Objective-C中的一些事情使得不可能添加觀察者。 – Erik 2016-08-05 02:20:42