隨着火力地堡斯威夫特2版,我是能夠做到:寫可選的數據,以火力
something = ["someOptionalData": optionalData]
ref.updateChildValues(something,......})
轉換爲斯威夫特3後&最新火力地堡,我得到這個錯誤:
Cannot store object of type _SwiftValue at optionalData. Can only store objects of type NSNumber, NSString, NSDictionary, and NSArray.
一些谷歌搜索後,人們說,firebase不接受可選類型。
所以我知道什麼是處理它比這其他更好的辦法:
if let unwrappedOptionalData = optionalData {
something = [
"someOptionalData": unwrappedOptionalData
]
} else {
something = [
"someOptionalData": true
]
}
ref.updateChildValues(something,......)
你的代碼片段可以簡化爲'something = [「someOptionalData」:optionalData ?? true]' – dan
@dan,但我不想存儲任何東西作爲「someOptionalData」當optionalData是零,我已經嘗試過'something = [「someOptionalData」:optionalData? NSNull()]'但xcode提示'nil合併運算符的左側?有非任意類型任何,所以右側永遠不會使用' – Alex