如何在Swift中声明类级函数?

 幸运的天使棒棒糖_634 发布于 2023-01-12 04:29

我似乎无法在文档中找到它,我想知道它是否存在于原生Swift中.例如,我可以NSTimer像这样调用类级函数:

NSTimer.scheduledTimerWithTimeInterval(0.2, target: self, selector: "someSelector:", userInfo: "someData", repeats: true)

但我似乎无法找到一种方法来使用我的自定义对象,所以我可以这样称呼它:

MyCustomObject.someClassLevelFunction("someArg")

现在,我知道我们可以将Objective-C与Swift混合使用,并且NSTimer类方法可能是该互操作性的残余.

    Swift中是否存在类级函数?

    如果是,我如何在Swift中定义类级别函数?

Connor.. 111

是的,你可以像这样创建类函数:

class func someTypeMethod() {
    //body
}

虽然在Swift中,它们被称为Type方法.

3 个回答
  • 是的,你可以像这样创建类函数:

    class func someTypeMethod() {
        //body
    }
    

    虽然在Swift中,它们被称为Type方法.

    2023-01-12 04:52 回答
  • 更新:感谢@Logan

    使用Xcode 6 beta 5,您应该为类使用static关键字和class关键字:

    class Foo {
        class func Bar() -> String {
            return "Bar"
        }
    }
    
    struct Foo2 {
        static func Bar2() -> String {
            return "Bar2"
        }
    }
    

    2023-01-12 04:56 回答
  • 您可以使用以下内容在类中定义Type方法:

    class Foo {
        class func Bar() -> String {
            return "Bar"
        }
    }
    

    然后从类Name中访问它们,即:

    Foo.Bar()
    

    在Swift 2.0中,您可以使用static关键字来阻止子类覆盖该方法.class将允许子类重写.

    2023-01-12 04:58 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有