微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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) {
        ...
    }
}

原文地址:https://www.jb51.cc/swift/320734.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐