如何在 Firebase 中推送多种类型的数据?
How to push data with multiple types in Firebase?
我想推送一个包含字符串、数字和日期的数组。我必须单独更新还是有其他方法可以完成此操作?
示例:
var categories : [String] = self.parseCategories()
var standbyDataStrings = [
"firstName":firstName,
"lastName":lastName,
"categories": categories,
"time_stamp":self.date.timeIntervalSince1970
]
var standbyDataNums = [
"radius":nf.numberFromString(self.helpRadiusLabel.text!),
"duration":nf.numberFromString(self.helpDurationLabel.text!)
]
standbyUserRef.updateChildValues(standbyDataStrings)
standbyUserRef.updateChildValues(standbyDataNums) // this gives me a error "string is not identical to NSObject"
组合 standByDataStrings 和 standbyDataNums 给我一个错误。
或者有没有办法从 Firebase 检索字符串并将其用作 int。它被存储为带有引号的字符串。
Firebase API 需要 NSDictionary
updateChildValues
。 NSDictionary
不能包含 nil
值。另一方面,普通的 Swift 字典可以包含 nil
个值。
numberFromString
的return类型是NSNumber?
,所以Swift推断字典可能包含nil
所以不能通过至 updateChildValues
。通过使用 !
显式强制非 nil 值,您可以编译此代码:
var standbyDataNums = [
"radius":nf.numberFromString(self.helpRadiusLabel.text!)!,
"duration":nf.numberFromString(self.helpDurationLabel.text!)!
]
standbyUserRef.updateChildValues(standbyDataNums) // now type checks
我想推送一个包含字符串、数字和日期的数组。我必须单独更新还是有其他方法可以完成此操作?
示例:
var categories : [String] = self.parseCategories()
var standbyDataStrings = [
"firstName":firstName,
"lastName":lastName,
"categories": categories,
"time_stamp":self.date.timeIntervalSince1970
]
var standbyDataNums = [
"radius":nf.numberFromString(self.helpRadiusLabel.text!),
"duration":nf.numberFromString(self.helpDurationLabel.text!)
]
standbyUserRef.updateChildValues(standbyDataStrings)
standbyUserRef.updateChildValues(standbyDataNums) // this gives me a error "string is not identical to NSObject"
组合 standByDataStrings 和 standbyDataNums 给我一个错误。
或者有没有办法从 Firebase 检索字符串并将其用作 int。它被存储为带有引号的字符串。
Firebase API 需要 NSDictionary
updateChildValues
。 NSDictionary
不能包含 nil
值。另一方面,普通的 Swift 字典可以包含 nil
个值。
numberFromString
的return类型是NSNumber?
,所以Swift推断字典可能包含nil
所以不能通过至 updateChildValues
。通过使用 !
显式强制非 nil 值,您可以编译此代码:
var standbyDataNums = [
"radius":nf.numberFromString(self.helpRadiusLabel.text!)!,
"duration":nf.numberFromString(self.helpDurationLabel.text!)!
]
standbyUserRef.updateChildValues(standbyDataNums) // now type checks