小编Enz*_*nzo的帖子

Swift 3和Firebase:从快照中检索自动ID值

我在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

一些想法?非常感谢你.

querying snapshot firebase swift firebase-realtime-database

2
推荐指数
1
解决办法
5292
查看次数

Swift 3:查找索引并从Structs数组中的数组中删除一个项目

我正在使用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中删除的元素.

建议?谢谢!

arrays indexing struct swift

0
推荐指数
1
解决办法
518
查看次数