【问题标题】:what is the most efficient to save and load a list of static strings保存和加载静态字符串列表最有效的方法是什么
【发布时间】:2018-03-29 23:04:56
【问题描述】:

我正在为我的应用制作第三方许可页面。

所以我有一个UITableView,当每个单元格都是库名称时,点击它会打开一个带有许可证文本的新UIViewController

那么保存和加载长字符串数组的最佳和有效方法是什么?

static let MIT = ""

enum licence: String {
    MIT = ""
}

let licences = ["MIT": "", ]

从文件加载

或者有什么其他建议?

谢谢

【问题讨论】:

  • 如果数据是静态的,那么你也可以使用 plist 文件来保存数据
  • 是的,字符串不会改变。这只是第三方许可的列表。这会是筑巢练习吗?
  • 所以使用 Plist 文件会更好,只需创建一个自定义 plist 文件并将所有数据作为数组或字典的方式放置任何你想要的,然后加载文件并从文件中获取所有数据并保存到数组中并在单元格中显示它们
  • 我认为字符串枚举是公平的,你的数组类型将是枚举类型的数组。

标签: ios swift


【解决方案1】:

我会认为它是常量以及我们经常使用的常量:

struct Constants {
    static let MIT = ""
}

用途:

Constants.MIT

Source

【讨论】:

  • 结构会比类更高效吗?
  • 是的,当然在常量的情况下,因为结构是基于值的,类是基于引用的。这就是为什么我们在常量的情况下使用结构。
【解决方案2】:
  1. 静态变量是“静态”分配的变量,意味着它的生命周期(或“范围”)是程序的整个运行(占用应用程序的内存)
  2. Swift 中的枚举是纯 OOP 并且很像一个类(它可能会添加很多方法,例如 rawValue,这会使元素变得非常大、性能不佳并且可能会消耗额外的内存等...)
  3. 局部变量需要初始化,例如从文件中;)

我建议按照您的建议创建一个模型: let licenses = ["MIT": "plist file", ] 显示特定 VC 时读取 plist/文本文件的位置(点击行)。

【讨论】:

    猜你喜欢
    • 2017-07-19
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 2012-05-16
    • 1970-01-01
    • 2012-03-06
    相关资源
    最近更新 更多