使用Swift将常用方法放在单独的文件中

时间:2015-09-03 15:49:38

标签: ios swift

我喜欢将常用的方法放在单独的文件中。我找到了这个答案Use function from one class in another class in Swift,但是我按照我想要的方式使用它会出错。

假设我想创建一个名为msgBox的方法,弹出一个警告框。 我创建了一个单独的空Swift文件并将此代码放入其中。

Utils.msgBox(titleStr: "Hello!", messageStr: "Are you sure?")

我想这样称呼它,但我这样做会出错。有谁知道我做错了什么?

{{1}}

错误如下所示: enter image description here

1 个答案:

答案 0 :(得分:5)

错误是因为您在self方法中使用class。在这种情况下,没有self个实例。

在这种情况下,您可以做的一件事是进行类扩展。在以下示例中,您可以从任何alert实例调用UIViewController方法:

extension UIViewController {

    func alert(title: String?, message: String?, buttonTitle: String = "OK") {
        let alert = UIAlertController(title: title, message: message, preferredStyle: .Alert)
        alert.addAction(UIAlertAction(title: buttonTitle, style: .Default, handler: { action in
            self.dismissViewControllerAnimated(true, completion: nil)
        }))
        self.presentViewController(alert, animated: true, completion: nil)
    }

}

请注意,我更改了几个名称和类型,但您可以使用自己喜欢的内容。