所以我试图从我的 firebase 数据库中仅检索子项的“第二个”值。 结构如下所示:
我得到的输出是这样的:
然而我真正想要的只是:
someURL.com
理想情况下,即使没有 https 或 http(我可能需要一个 if 来检查,因为事先并不知道所有这些)。我想有 2 个选项,要么在 Swift 中解开字符串,要么(我希望的)只是检索实际值而不带括号和开头的“url”。我在这里找不到类似的问题。
我的检索代码:
dataSource?.populateCellWithBlock { (cell: UITableViewCell, obj: NSObject) -> Void in
let snap = obj as! FIRDataSnapshot
let childString = snap.value as! [String : AnyObject]
cell.textLabel?.text = String(childString)
}
最佳答案
试试这个
dataSource?.populateCellWithBlock { (cell: UITableViewCell, obj: NSObject) -> Void in
let snap = obj as! FIRDataSnapshot
let childString = snap.value as! [String : AnyObject]
if let url = childString["url"] as? String {
cell.textLabel?.text = url
} else {
print("No value for url")
}
}
您正在使用的 childString 变量是一个包含键值的字典。您需要获取键“url”的值。
关于swift - 在 Firebase 中仅检索没有键的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38870933/