是一个适合常量的结构

时间:2014-09-30 18:02:13

标签: struct swift

在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?

1 个答案:

答案 0 :(得分:1)

你可以在Swift中声明一个类常量:

class Foo {
    class var PI : Double { return 3.1416 }
}

关键是定义自定义getter而不是setter。