swift - "Unwrapping"从 Firebase 检索数据

标签 swift firebase subscript

因此,我设法从 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/

相关文章:

arrays - 数组转换问题

ios - 快速添加 UICollectionView 代替导航栏标题

android - Firebase 数据库实例如何实时检索数据?

user-interface - 如何在Matlab中编写将在图形用户界面(GUI)中显示的下标和上标?

swift - 如何在 Swift 3.1 中使用字符下标?

ios - 我应该在 UICollectionViewCell 的哪个方法中编写只运行一次的代码?

ios - 使用 Firebase for iOS 获取大量警告/日志消息

ios - 在不先观察数组的情况下在 Swift 中将项目添加到 Firebase 数组

c++ - 如何在常量数组中重载 "[][] operator"?

swift - Swift 中如何检查返回的对象是否是 UIView