常量的Swift结构

时间:2015-01-27 21:50:45

标签: swift memory-management constants

  1. final在结构定义中的含义是什么?
  2. 是否应该将其添加到结构中以下情况?
  3. 使用结构作为常量是一个好主意(性能,内存考虑因素等)吗?
  4. 是应该调用Constant还是Constants
  5. 示例:

    final struct Constant { 
        static let cellId = "CellId"
    }
    

2 个答案:

答案 0 :(得分:0)

  1. final是一个修饰符,它阻止一个类被继承,一个类方法或类属性被覆盖 - 它不适用于结构(因为继承不可用)和编译器应该抛出一条错误信息。在Preventing Overrides

  2. 中描述
  3. 见(1)

  4. 我更喜欢使用结构,因为类不支持静态存储属性。我不认为使用类或结构有任何区别,只要常量属性被声明为静态 - 但是,如果类是选择,那么使用{是个好主意} {1}}。

  5. 您的选择:)我使用final,除非该结构仅用于一个常量

答案 1 :(得分:0)

正如Apple所说(https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Inheritance.html),最后一个是防止方法/属性被覆盖。因此,您无法创建更改元素的超类。

将其称为常量或常量?我想这取决于结构内部的属性数量。

如果您在Playground中尝试示例,则无法编译。