在Swift中表示类常量的惯用方法是什么?

时间:2018-02-25 18:24:04

标签: swift

我用多种方式来表示某些州的神奇价值。

  1. 使用let,如:

    class A { let FOO = 42 }
    

    但这不是一个类变量,所以我不确定多个实例对内存的影响。另一个问题是根据前面的常量初始化以下常量将返回编译器错误:

    class A {
        let FOO = 42
        let BAR = FOO / 2 // Compiler Error
    }
    
  2. 使用结构,让我很好地包装常量:

    class A { struct Constants { static let FLAG = 42 } }
    

    但是我的代码用Constants前缀乱扔垃圾。我也相信这是使用早期Swift版本中的static关键字的一种解决方法。它还合适吗?

  3. 在声明中直接使用static可能吗?当Swift 2或3开始支持它时:

    class A {  static let FOO = 42 }
    
  4. 我要离开enum,因为我需要常量来返回Int个值,而enum s会经常让我与rawValue一起玩。< / p>

    然后我必须在常量中加上类名,当我将代码重构为函数中硬编码的类名的其他类时,重构会很痛苦。

  5. 您建议使用哪种方法来确定使用哪种方法?

0 个答案:

没有答案