- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的第一个问题,我仍在学习 Swift/Xcode/Firebase,所以非常感谢您的耐心等待。我一直在跟踪 StackOverflow,并找到了很多可以帮助解决各种问题的答案,但对于我这两天一直在努力解决的问题没有任何意义。
我正在编写一个程序,它将在先前的 View Controller 上选取的日期和一组用户输入的 float 从文本字段保存到 Firebase 数据库,并将每个数据集作为单独的条目附加,而不是覆盖以前的数据。使用下面的第一段代码,我已经解决了这个问题,只是我无法找到不使用 AutoID 的方法来做到这一点。这让我在 Firebase 中得到了这样的设置,但每个类别中有多个类别和“optionSelected”部分:
用于保存的代码:
func newWithNewVars() {
let myDatabase = Database.database().reference().child("Category 1").child(optionSelected)
let variable1 = textField1.text
let variable2 = textField2.text
let variable1Float = (textField1.text! as NSString).floatValue
let variable2Float = (textField2.text! as NSString).floatValue
let writeArray = ["Date": textPassedOverDate, "Variable 1 Float": variable1Float, "Variable 2 Float": variable2Float]
myDatabase.childByAutoId().setValue(gasArray) {
(error, reference) in
if error != nil {
print(error!)
}
else {
print("Message saved successfully!")
}
}
}
问题在于调用数据。由于 AutoID 是唯一的,我无法弄清楚如何访问更深层的数据进行计算。具体来说,我希望能够创建一个新条目,按保存数据按钮,并让它在“optionSelected”部分中找到最新条目,以便它可以进行计算,例如从新变量 1 中减去旧变量 1 并这样。
鉴于上述描述、布局和上面使用的代码,什么样的代码结构可以让我找到最近的日期并访问 AutoID 部分内特定类别和“optionSelected”的数据?
感谢您的帮助。
最佳答案
您遇到的问题是您试图深入挖掘,但无法进行,因为您没有掌握该 ID。当您想要进入 JSON 树中的列表且无法获取要进入的 id 时,您需要在引用观察中使用 .childAdded
- 这将被调用的次数与 类别 1 树中的值相同:
let reference = Database.database().reference()
reference.child("Category 1").child("optionSelected").observe(.childAdded, with: { (snapshot) in
let uniqueKey = snapshot.key // IF YOU WANT ACCESS TO THAT UNIQUE ID
print(uniqueKey)
guard let dictionary = snapshot.value as? [String: AnyObject] else { return }
let date = dictionary["date"] as? String
let variableOne = dictionary["Variable 1 Float"] as? Float
let variableOne = dictionary["Variable 2 Float"] as? Float
}, withCancel: nil)
您可能还希望避免在数据库键中使用空格,以避免在不久的将来出现任何问题。我会坚持常见的小写下划线做法,例如“category_1”或“variable_2_float”
关于swift - 访问唯一 AutoID 内的 Firebase 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48037473/
我想从 autoID 节点中获取值。以下是我的结构: "workout" "exercise" "Bench Press" "(AutoIDNode)" "re
我试图让用户在按下删除按钮时删除评论。当评论被提交时,它们是使用 autoId 创建的,节点的标题将是 postId 以查看他们评论了什么帖子。 "comments" : { "-LmfZ
我正在尝试查找在保存过程中由 firebase 自动生成的 autoID。 我的 firebase 结构是: -flights -userID -autoID-1
我有两个表,假设它们分别称为表 A 和表 B。表 B 中的一个项目可以出现在 A 的多个实例中,每个 A 可以包含多个 B,所以我有一个名为 a_b 的表将它们链接起来通过他们的主键在一起。我的问题是
我正在使用 firebase 来存储一些数据。当我使用 queryOrderedByChild("count") 时,我收到以下警告 使用未指定的索引。考虑将/comments/-KM449ubmvi
我正在尝试组织我的数据库和存储。我想使用它为数据库中的用户生成的相同 autoID 以用于我的存储。可能吗? 这是我用来保存个人资料照片的代码。 let email = Auth.auth().cu
我想在使用存储过程在表中插入新行时返回 AutoID。下面是存储过程,基于 where 子句我获取行,然后使用新 ID 在表中插入相同的行;我需要这个新 ID。 create or replace P
我正在通过脚本从头开始创建一个新表 - 首先,我要删除它(如果它已经存在): DROP TABLE IF EXISTS `myTable` 然后我正在创建它: CREATE TABLE IF NOT
目前,我正在将 firebase 用于消息传递应用程序。对于消息,我使用 childByAutoID() 来创建新消息。如果两个人同时创建一条消息,ID会创建正确吗? let messageConn
Results - auto generated ID - auto generated ID value1: abc value2: def 我希望能够查询“valu
大家好,我是asp.net的新手, 我在更新面板内的转发器中有一个复选框,每当我单击复选框时页面都会闪烁,最后发现添加 ClientIDMode="AutoID"控制闪烁并且一切正常。 我想知道 Cl
点击删除按钮后。我正在尝试从 Firebase 数据库中删除特定的子项。我的问题是,我无法引用数据库中的特定 childByAutoId,因此我的应用程序不知道要删除哪个子项。 Firebase 数据
我正在创建一个库存应用程序,以便跟踪实验室中保存的元素。在实验室中,有不同的站点,其中包含不同的项目,正如您所看到的,这些项目在我的 Firebase 数据库中结构正确。 Firebase Datab
这是我的第一个问题,我仍在学习 Swift/Xcode/Firebase,所以非常感谢您的耐心等待。我一直在跟踪 StackOverflow,并找到了很多可以帮助解决各种问题的答案,但对于我这两天一直
我在 am4charts 中显示了我的数据。最初我是用 id 字段创建 x 轴,但现在我想要时间字段。但当我使用时间字段时它不起作用,当我使用 id 字段时它工作正常。这是我用于显示图表的 java
我有一个如下所示的 firebase 结构: 蓝色的是 feedPosts,绿色的是 userId,没有颜色的是 firebase 为附加数据创建的 autoId,橙色的是 content: "use
我想将所有 ChilDBYAutoID 中的每个图形项接收到一个 double 组中。 另外,有没有更好的方法来使用计数而不是自动 ID?比如例子: 0 7241 7442 7453 800... 我
我想检查用户名是否存在。 但是 Xcode 提示我的安全规则。 [Firebase/Database][I-RDB034028] Using an unspecified index. Conside
我正在尝试使 Swift 4 Decodable 适应由我的 Firebase 数据库创建的 JSON: { "sections" : { "-KxVQoo6ElOVhoFliQ5s" :
我想检索图像值。节点看起来像这样,我想检索 url1、url2、url3。 "Post": { "uid": { "Text": "some text", "imag
我是一名优秀的程序员,十分优秀!