加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift中如何定义全局函数?

发布时间:2020-12-14 05:58:27 所属栏目:百科 来源:网络整理
导读:我写了一个简单的功能,在调用时显示警报。我想在几个viewController中使用这个功能。现在我有相同的代码复制到每个viewController的底部,但我不禁想到有一个更好的方法。 如何定义可以从任何viewController调用的函数? 仅供参考,我将粘贴我的功能,但这
我写了一个简单的功能,在调用时显示警报。我想在几个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) {
        ...
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读