【发布时间】:2017-12-30 20:09:50
【问题描述】:
这是我的第一个问题,我还在学习 Swift/Xcode/Firebase,感谢您的耐心等待。我一直在跟踪 StackOverflow,并找到了很多可以帮助解决各种问题的答案,但对于我 2 天以来一直在努力解决的问题,没有任何意义。
我正在编写一个程序,它将保存在前一个视图控制器上选择的日期和一组用户输入的从文本字段中输入的浮点数到 Firebase 数据库,并将每个数据集作为单独的条目附加,而不是覆盖以前的数据。使用下面的第一个代码块,我已经解决了这个问题,除了我找不到不使用 AutoID 的方法。这让我在 Firebase 中有这样的设置,但每个类别中有多个类别和“optionSelected”部分:
- 程序名称
- 类别 1
- 选项已选择
- L1cggMnqFqaJf1a7UOv
- 日期:“21-12-2017”
- 变量 1 浮点数:“12345”
- 变量 2 浮点数:“26.51”
- L1ciVpLq1yXm5khimQC
- 日期:“30-12-2017”
- 变量 1 浮点数:“23456”
- 变量 2 浮点数:“35.88”
- L1cggMnqFqaJf1a7UOv
- 选项已选择
- 类别 1
用于保存的代码:
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”的数据?
感谢您的帮助。
【问题讨论】:
标签: swift xcode firebase-realtime-database