我在firebase上创建了下面的结构,我需要用红色下划线自动id:
我创建的用于查询值的代码:
let query = reference.queryOrdered(byChild: "receiverId").queryEqual(toValue: "LKupL7KYiedpr6uEizdCapezJ6i2")
//Start process
query.observe(.value, with: { (snapshot) in
guard snapshot.exists() else{
print("Data doesn't exists")
return
}
print(snapshot.key)
}
Run Code Online (Sandbox Code Playgroud)
我的" snapshot.value "导致:
Optional({
"-KaRVjQgfFD00GXurK9m" = {
receiverId = LKupL7KYiedpr6uEizdCapezJ6i2;
senderId = bS6JPkEDXIVrlYtSeQQgOjCNTii1;
timestamp = 1484389589738;
};
})
Run Code Online (Sandbox Code Playgroud)
如何从上面的节点只获得字符串-KaRVjQgfFD00GXurK9m?
我曾尝试使用" print(snapshot.key) ",但结果是用户ID: bS6JPkEDXIVrlYtSeQQgOjCNTii1
一些想法?非常感谢你.
我正在使用struct来填充带有节和行的表视图控制器.现在我需要从表中删除一个单元格.如何在列表中找到要删除的元素?
结构:
struct Cells {
var section: String!
var list: [String]!
}
Run Code Online (Sandbox Code Playgroud)
部分和行
var tableStructure = [Cells(section: "Requests", list: ["uidU", "uidV"])]
Run Code Online (Sandbox Code Playgroud)
用于在结构中搜索要从列表中删除的元素,从结构列表中删除项目然后从表视图中删除单元格的代码:
let index = tableStructure.index(where: {$0.section == "Requests" && list.index{$0 == cell.selectedUserUid} as Any as! Bool})
self.tableStructure.remove(at: index!) //***ERROR HERE***
tableView.deleteRows(at: [indexPath], with: .fade)
Run Code Online (Sandbox Code Playgroud)
错误信息:
fatal error: unexpectedly found nil while unwrapping an Optional value
Run Code Online (Sandbox Code Playgroud)
我设置了一个断点来查看"cell.selectedUserUid"的内容,它等于我想从struct中删除的元素.
建议?谢谢!