从Firebase检索到的“展开”数据

时间:2018-11-04 06:03:46

标签: swift firebase subscript

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

  

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

问题:如何解开它们,以便将单个值放入其他String变量中? 我尝试了很多方法,但是遇到类似[CustomerList]

这样的错误,无法用索引String下标类型let custName = self.list["Name"] as? String的下标

ps。 CustomerListstruct pps。 list的打印输出是所显示的

1 个答案:

答案 0 :(得分:3)

由于您有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{ $0.customerFirstName == "Jonhny"}.first {
    print(johny.customerLastName)
}

要从客户列表中创建一个自定义列表,可以使用map,如下所示,

let lastNamesArray = self.list.map({ $0.customerLastName })