如何定义可以从任何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) { ... }}总结
以上是内存溢出为你收集整理的Swift中如何定义全局函数?全部内容,希望文章能够帮你解决Swift中如何定义全局函数?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)