所以我设法从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。 CustomerList
是struct
pps。 list
的打印输出是所显示的
答案 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 })