function - Swift 类中的静态与类函数/变量?

标签 function class swift variables static

以下代码在 Swift 1.2 中编译:

class myClass {
    static func myMethod1() {
    }
    class func myMethod2() {
    }
    static var myVar1 = ""
}

func doSomething() {
    myClass.myMethod1()
    myClass.myMethod2()
    myClass.myVar1 = "abc"
}

static 函数和class 函数有什么区别?我应该使用哪一个,什么时候使用?

如果我尝试定义另一个变量 class var myVar2 = "",它说:

Class stored properties not yet supported in classes; did you mean 'static'?

当支持此功能时,static 变量和 class 变量之间有什么区别(即,当两者都在类中定义时)?我应该使用哪一个,什么时候使用?

(Xcode 6.3)

最佳答案

staticclass 都将方法与类相关联,而不是将类的实例相关联。区别在于子类可以重写class方法;它们不能覆盖 static 方法。

class 属性在理论上将以相同的方式运行(子类可以覆盖它们),但它们在 Swift 中尚不可能。

关于function - Swift 类中的静态与类函数/变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29636633/

相关文章:

c++ - 在多个函数中使用相同的变量

python - 在字符串/数组中存储多个函数值 (Python)

ios - objective-c - 什么是声明委托(delegate)的正确方法?

C# - 如何检查 C# 中是否存在命名空间、类或方法?

python - 在python中获取类中的所有常量

ios - 无法从数据库中检索评论 (FIREBASE/IOS)

c++ - 函数指针不是函数或函数指针

在函数内部更改函数参数的 Pythonic 方式

ios - 如何启用移动但禁用删除 UITableView 中的某些行

SwiftUI 多个图像点击手势如何在图像单击上执行全屏覆盖