"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。 CustomerList
是 struct
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 })
所以我设法从 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。 CustomerList
是 struct
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 })