gpt4 book ai didi

swift - 在 swift 中存储嵌套数据的最佳方法

转载 作者:行者123 更新时间:2023-11-30 10:01:37 25 4
gpt4 key购买 nike

给定一个对象,例如

objA{
name: "A Name"
subObj: {
name: "A Sub Name"
}
}

在 swift 中存储它的最佳方式是什么?我想创建一个对象 A 的类,然后在该类中拥有一个保存 subObj 的值。但是,那个 subObj 也应该有自己的类吗?考虑到大型数据结构,这种方法似乎会导致大量的类声明?

最佳答案

恕我直言,没有最好的方法来创建这种东西。这取决于您喜欢什么、要存储的数据以及嵌套的深度。

我将在这里展示一些。

  1. 类和结构

您刚刚创建了一些具有所需属性和子对象的类和/或结构。您的示例对象的类可能如下所示

class ObjectA {
let name: String
let subObj: SubObject

init(name: String, subObj: SubObject) {
self.name = name
self.subObj = subObj
}
}

class SubObject {
let name: String
init(name: String) {
self.name = name
}
}

当然,您应该有意义地命名您的类。

  • 元组
  • 这最适合仅具有 1 层嵌套的对象。你可以用 2 个来做这个,但看起来有点难看。 不要超过3个,没人理解。

    这是一个嵌套元组:

    let tuple: (String, (String, String)) = ...

    如果你使用超过 3 层的嵌套,人们将需要很长时间才能明白你的意思:

    let tuple: (String, (String, (String, (String, (String, String))))) = ...
  • 属性列表
  • 这最适合存储大量常量数据,这些数据过于冗长而无法在代码中创建。只需将一个新的属性列表文件添加到您的项目中,并使用 NSBundle 方法之一读取它。

    您的对象的属性列表将如下所示:

    enter image description here

  • JSON
  • 就我个人而言,我认为 JSON 与 SwiftyJSON 等 JSON 解析库结合使用时非常方便。 。您的对象的 JSON 表示形式如下所示:

    objA: {
    name: "A Name",
    subObj: {
    name: "A Sub Name"
    }
    }

    关于swift - 在 swift 中存储嵌套数据的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38195968/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com