因此,我设法从 Firebase
检索一些数据
,打印时如下所示:
[Resturant.CustomerList(key: "-LQQlhEmNZb8Kaha9uCk", customerLastName: “Kendrick”, customerFirstName: “Anna”, customerSeat: "100", customerOrder: “Noodle”, Timestamp: 1541290545703.0)]
问题:如何解开它们以便将单个值放入其他字符串变量中?
我尝试了很多方法,但出现错误,例如如果我执行 let custName = self 之类的操作,则无法使用
String
类型的索引对 [CustomerList]
类型的值进行下标.list["名称"] 为?字符串
ps。 CustomerList
是一个 struct
pps。 list
的打印结果如下所示
最佳答案
由于您有一个 CustomerList
对象列表,即 [CustomerList]
,因此您应该首先从此 列表
获取单个对象。假设我们希望此 list
中的第一个对象访问其属性,那么我们可以按如下方式执行此操作,
if let firstCustomer = self.list.first {
let firstName = firstCustomer.customerFirstName
let lastName = firstCustomer.customerLastName
}
如果您想访问特定索引
处的对象,那么您可以执行以下操作,
let index = 0
let customer = self.list[index]
let firstName = customer.customerFirstName
let lastName = customer.customerLastName
要查找特定客户
,您可以按如下方式过滤
,
let johny = self.list.filter{ $0.customerFirstName == "Jonhny"}.first {
print(johny.customerLastName)
}
要获取从客户列表创建的自定义列表,您可以使用 map
,如下所示,
let lastNamesArray = self.list.map({ $0.customerLastName })
关于swift - "Unwrapping"从 Firebase 检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53138196/