在Swift中编程时,使用struct来保存所有常量有什么优缺点?
通常,我会选择一个类,但swift类还不支持存储类型属性。我想以样本A的形式而不是样本B编写我的代码,纯粹是因为可读性,更少的代码行和单个语句执行读取的内容(一个无法覆盖的可读常量)。
// Sample A.swift
struct Constant {
static let PI = 3.14
}
//Sample B.swift
private let globalPI = 3.14
class Constant {
class var PI: Float {
return globalPI
}
}
如果我只是从Struct透视图引用Constant.PI(用于计算,打印,条件或其他),那么我是否正在浪费正在制作的副本?是否有副本,如果我只是在我的代码的其他部分引用常量Constant.PI?
答案 0 :(得分:1)
你可以在Swift中声明一个类常量:
class Foo {
class var PI : Double { return 3.1416 }
}
关键是定义自定义getter而不是setter。