"Unwrapping" 从 Firebase 检索到的数据

"Unwrapping" data retrieved from Firebase

所以我设法从 Firebase 中检索了一些 data,打印时看起来像这样:

[Resturant.CustomerList(key: "-LQQlhEmNZb8Kaha9uCk", customerLastName: “Kendrick”, customerFirstName: “Anna”, customerSeat: "100", customerOrder: “Noodle”, Timestamp: 1541290545703.0)]

问题:如何将它们解包以便将单个值放入其他字符串变量中? 我尝试了很多方法,但我得到错误,例如如果我做 let custName = self.list["Name"] as? String

ps。 CustomerListstruct pps。 list 的打印输出是

显示的内容

因为你有一个 CustomerList 对象的列表,即 [CustomerList] 所以你应该首先从这个 list 中得到一个对象。假设我们想要这个 list 中的第一个对象访问它的属性,那么我们可以按如下方式进行,

if let firstCustomer = self.list.first {
    let firstName = firstCustomer.customerFirstName
    let lastName = firstCustomer.customerLastName
}

如果你想在特定的 index 访问一个对象,那么你可以按照下面的方式做,

let index = 0
let customer = self.list[index]
let firstName = customer.customerFirstName
let lastName = customer.customerLastName

要查找特定的 customer,您可以 filter 如下所示,

let johny = self.list.filter{ [=12=].customerFirstName == "Jonhny"}.first {
    print(johny.customerLastName)
}

要获取从客户列表创建的自定义列表,您可以使用 map,如下所示,

let lastNamesArray = self.list.map({ [=13=].customerLastName })