什么时候在Swift中使用静态常量和变量?
有一些关于如何为Swift 编写代码static constant
以及如何static
variable在Swift中编写代码的文章。但尚不清楚何时使用static constant
和static
variable而不是constant
和variable
。有人可以解释吗?
回答:
当您在类(或结构)中定义静态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