我对在swift中使用 static 关键字有些困惑。众所周知,swift引入了 let 关键字来声明不可变对象。就像声明表视图单元格的ID一样,该ID在其生命周期中很可能不会发生变化。现在在一些类似struct的声明中使用 static 关键字是什么:
struct classConstants { static let test = "test" static var totalCount = 0 }
而 让 关键字做同样的事情。在目标C中,我们使用static声明了一些常量,例如
static NSString *cellIdentifier=@"cellId";
除了让我更好奇的是,还使用了 static 关键字以及 let 和 var 关键字。有人可以解释一下该静态关键字在哪里使用吗?更重要的是,我们真的需要快速 静态化 吗?
我将为您分解它们:
var
let
static
现在,您可以结合起来以得到期望的结果:
static let key = "API_KEY"
static var cnt = 0
let id = 0
var price = 0
因此,将所有内容归纳为var,让我们定义可变性,而让它们保持静态,缺少定义范围。您可能会static var用来跟踪已创建的实例数,而您可能只想使用var价格因对象而异的对象。希望这能使事情变得顺利。
static var
示例代码:
class MyClass{ static let typeProperty = "API_KEY" static var instancesOfMyClass = 0 var price = 9.99 let id = 5 } let obj = MyClass() obj.price // 9.99 obj.id // 5 MyClass.typeProperty // "API_KEY" MyClass.instancesOfMyClass // 0