Mac*_*eus 1 static-variables swift
class Foo {
let fooValue = 1
}
print(Foo.fooValue) // not work
class Bar {
static let barValue = 1
}
print(Bar.barValue) // work; print "1"
Run Code Online (Sandbox Code Playgroud)
为什么?我希望这个Foo例子能够工作,因为值fooValue是在编译时知道的常量,值和内存地址.但我需要使用关键字static来工作.
Ale*_*ica 14
fooValue是一个实例属性.fooValue每个实例(对象)都有一个单独的Foo类.
barValue是一个静态属性.有一个共享barValue属于该类.
这是一个更具体的例子.假设我有这个课程:
class Human {
static let numberOfLimbs = 4
let name: String
}
Run Code Online (Sandbox Code Playgroud)
如果我问你人类的名字是什么,你会发生什么?即Human.name.好吧,你无法回答我,因为没有一个人的名字.每个人都有一个单独的名字.但是,你可以告诉我人类拥有的肢体数量(Human.numberOfLimbs),(几乎)总是4.
| 归档时间: |
|
| 查看次数: |
4577 次 |
| 最近记录: |