给出诸如
之类的对象objA{
name: "A Name"
subObj: {
name: "A Sub Name"
}
}
在swift中存储这个的最佳方法是什么?我想创建一个Object A类,然后在该类中包含一个包含subObj的值。但是,subObj是否也有自己的类?对于大数据结构,这种方法似乎会导致疯狂的类声明数量?
答案 0 :(得分: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
方法之一进行阅读。
您对象的属性列表如下所示:
就我个人而言,我认为当与SwiftyJSON等JSON解析库结合使用时,JSON非常方便 。您对象的JSON表示形式如下:
objA: {
name: "A Name",
subObj: {
name: "A Sub Name"
}
}