swift - swift - 为什么全局静态变量不是初始化?
问题描述
问题
- 有时(也许是线程)
kIndexMinID
,kIndexMaxID
价值是0
代码
// test.swift
let kIndexMinID :Int = 100
let kIndexMaxID :Int = 200
问题
- 为什么不初始化值?(什么时候初始化?)
- 如何全局变量初始化?
地位
- Xcode 8.2.1
- 苹果 Swift 版本 3.0.2 (swiftlang-800.0.63 clang-800.0.42.1)
解决方案
强烈建议将常量封装在结构中
struct Constants {
static let kIndexMinID = 100
static let kIndexMaxID = 200
}
好处(除了封装)是常量被延迟初始化。
推荐阅读
- regex - 将逗号分隔的字符串动态插入和更新到目标表的 Oracle 过程
- firebase - Flutter Firebase如何查询按列表索引排序的集合
- java - Intellij + Database Navigator 给我一个错误
- numerical-methods - 如何正确使用 Thomas-Algorithm 到热扩散方程?
- python - 如何将时间分成几个小时?
- python - 如何在 minmax 缩放后将 2d 数组转换为 1d 数组
- c# - 如何将字符串从 Angular 传递到 .NET Core WebAPI 并获得 json 作为回报?
- c# - 比较 SQL Server 中的两个字节数组
- python - Pandas - 通过一些列名操作将几个值扩展到新列
- squirrel-sql - 使用联合删除