Swift中如何定义全局函数?

前端之家收集整理的这篇文章主要介绍了Swift中如何定义全局函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我写了一个简单的功能,在调用显示警报。我想在几个viewController中使用这个功能。现在我有相同的代码复制到每个viewController的底部,但我不禁想到有一个更好的方法

如何定义可以从任何viewController调用函数

仅供参考,我将粘贴我的功能,但这是一个一般的问题。我希望能够在所有视图控制器中找到一种雄辩的方式来处理键盘管理。

  1. func displayAlert(title:String,error:String,buttonText: String) {
  2.  
  3. // Create the alert
  4. var alert = UIAlertController(title: title,message: error,preferredStyle: UIAlertControllerStyle.Alert)
  5.  
  6. // Add an action
  7. alert.addAction(UIAlertAction(title: buttonText,style: .Default,handler: { action in
  8.  
  9. // Dismiss when the button is pressed
  10. self.dismissViewControllerAnimated(true,completion: nil)
  11.  
  12. }))
  13.  
  14. // Add it to viewController
  15. self.presentViewController(alert,animated: true,completion: nil)
  16. }
除非您将该函数声明为private或fileprivate,否则限制了定义文件或范围的可见性,如果声明为内部(默认),则可以在模块的任何位置使用它,也可以将其声明为public或打开。

但是,由于您只在视图控制器中需要它,为什么不将其实现为视图控制器的扩展?

  1. extension UIViewController {
  2. func displayAlert(title:String,buttonText: String) {
  3. ...
  4. }
  5. }

猜你在找的Swift相关文章