Swift中如何定义全局函数?

我写了一个简单的功能,在调用显示警报。我想在几个viewController中使用这个功能。现在我有相同的代码复制到每个viewController的底部,但我不禁想到有一个更好的方法

如何定义可以从任何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)
}
除非您将该函数声明为private或fileprivate,否则限制了定义文件或范围的可见性,如果声明为内部(认),则可以在模块的任何位置使用它,也可以将其声明为public或打开。

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

extension UIViewController {
    func displayAlert(title:String,buttonText: String) {
        ...
    }
}

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...