代码如下:
var c = 1
class Singleton {
class var shared: Singleton {
//--struct里边的constant不会被重复定义? why?
struct Static {
static let b = c++
static let instance = Singleton()
}
println("b is \(Static.b)")
return Static.instance
}
}
var single1 = Singleton.shared
c++ ;
var single2 = Singleton.shared
输出结果为:
b is 1
b is 1
问题
为什么b没有改变?
thx @dasblinkenlight http://stackoverflow.com/questions/25699945/struct-defined-in-a-function
我想我找到答案了, staic的变量无论怎样都只会被初始化一次:
result: