swift - 为什么全局静态变量不是初始化的?
swift - why global static variable is not init?
问题
- 有时(可能是线程)
kIndexMinID
、kIndexMaxID
值为0
代码
// test.swift
let kIndexMinID :Int = 100
let kIndexMaxID :Int = 200
问题
- 为什么不是初始值? (什么时候初始化?)
- 如何初始化全局变量?
状态
- Xcode 8.2.1
- Apple Swift 版本 3.0.2 (swiftlang-800.0.63 clang-800.0.42.1)
强烈建议将常量封装在结构体中
struct Constants {
static let kIndexMinID = 100
static let kIndexMaxID = 200
}
好处(除了封装)是常量被延迟初始化。
问题
- 有时(可能是线程)
kIndexMinID
、kIndexMaxID
值为0
代码
// test.swift
let kIndexMinID :Int = 100
let kIndexMaxID :Int = 200
问题
- 为什么不是初始值? (什么时候初始化?)
- 如何初始化全局变量?
状态
- Xcode 8.2.1
- Apple Swift 版本 3.0.2 (swiftlang-800.0.63 clang-800.0.42.1)
强烈建议将常量封装在结构体中
struct Constants {
static let kIndexMinID = 100
static let kIndexMaxID = 200
}
好处(除了封装)是常量被延迟初始化。