从对象数组中检索值

时间:2018-11-27 17:52:18

标签: ios swift

我在下面提到了这个对象数组。有人可以指导我如何访问对象数组内的各种值。

CellInfo(date: "Sep 2018",
         audioFileInfos: [In.PtV.AudioFileInfo(urlString: "https://GeorgeB.m4a",
                                                    text: "9/11")
                         ])

我要访问日期,urlString和文本

struct AudioFileInfo {
    let urlString: String
    let text: String

    init(dict: [String: String]) {
        urlString = dict["AudioFileURL"] ?? ""
        text = dict["Title"] ?? ""
    }
}

struct CellInfo {
    let date: String
    let audioFileInfos: [AudioFileInfo]
}

1 个答案:

答案 0 :(得分:1)

请考虑以下代码。

let cellInfo = CellInfo(date: "Sep 2018",
     audioFileInfos: [In.PtV.AudioFileInfo(urlString: "https://GeorgeB.m4a",
                                                text: "9/11")
                     ])
print(cellInfo.date) // prints date
print(cellInfo.audioFileInfos[0].urlString) // prints urlString
print(cellInfo.audioFileInfos[0].text) // prints urlString

这里发生的事情如下

  1. 您使用CellInfodate创建audioFileInfos结构。
  2. 在提供audioFileInfos的同时,您使用与#1相同的方式创建另一个结构
  3. 您将AudioFileInfo传递到数组内部。
  4. 因此,在访问date的情况下,您可以使用点date运算符直接访问.属性。
  5. 要访问AudioFileInfo结构对象,只需添加索引即可。

由于audioFileInfos是一个数组,因此访问其值的安全且完整的方法是遍历该数组,同时访问该数组元素。

for audioFileInfo in cellInfo.audioFileInfos {
    print(audioFileInfo.urlString)
    print(audioFileInfo.text)
}