什么时候在Swift中使用静态常量和变量?

有一些关于如何为Swift 编写代码static constant以及如何static

variable在Swift中编写代码的文章。但尚不清楚何时使用static constantstatic

variable而不是constantvariable。有人可以解释吗?

回答:

当您在类(或结构)中定义静态var / let时,该信息将在所有实例(或值)之间共享。

回答:

class Animal {

static var nums = 0

init() {

Animal.nums += 1

}

}

let dog = Animal()

Animal.nums // 1

let cat = Animal()

Animal.nums // 2

如您在这里看到的,我创建了2个单独的实例,Animal但是它们确实共享相同的静态变量nums

回答:

通常使用静态常数来采用Singleton模式。在这种情况下,我们希望分配的类实例不超过1个。为此,我们将对共享实例的引用保存在常量中,并隐藏初始化器。

class Singleton {

static let sharedInstance = Singleton()

private init() { }

func doSomething() { }

}

现在,当我们需要Singleton实例时,我们编写

Singleton.sharedInstance.doSomething()

Singleton.sharedInstance.doSomething()

Singleton.sharedInstance.doSomething()

这种方法的确允许我们始终使用相同的实例,即使在应用程序的不同点也是如此。

以上是 什么时候在Swift中使用静态常量和变量? 的全部内容, 来源链接: utcz.com/qa/398879.html

回到顶部