我有一些非常複雜的結構,它們由自定義的UIViews
和其他快速對象組成。我想將它們的實例保存在Firebase上。問題是Firebase不會接受我的類型,所以我可以編寫代碼轉換爲更原始的類型並返回,但這會非常複雜和乏味。我想知道是否有一些方法可以保存整個班級,例如數據,二進制文件或字符串,然後將其上傳並解碼。或任何其他建議將複雜結構保存到firebase
2
A
回答
3
你可以通過設置一個字符串,數字,布爾值,null,數組或JSON對象
所以,你需要編寫自己的轉換器。
剛剛創建的對象structs
/classes
有3種方法:
// example with 2 fields: Int and String
struct ItemFromFirebase {
let type: Int
let name: String
// manual init
init(type: Int, name: String) {
self.type = type
self.name = name
}
// init with snapshot
init(snapshot: DataSnapshot) {
let snapshotValue = snapshot.value as! [String: AnyObject]
type = snapshotValue["type"] as! Int
name = snapshotValue["name"] as! String
}
// function for saving data
func toAnyObject() -> Any {
return [
"type": type,
"name": name
]
}
}
它例如用簡單的類型。您只需要根據需要重寫功能toAnyObject
和init
。
希望它可以幫助
+0
嘿,這是有幫助的,但我想我試圖將數據保存到一個文件,並將該文件上傳到firebase。工作,但有一些[問題](https://stackoverflow.com/questions/45040306/saving-struct-as-data-to-file-and-back-again) –
+0
@AntersBear我不知道如果這是最佳做法,但這是您的選擇。它可以工作 –
相關問題
- 1. firebase檢索複雜結構
- 2. 將複雜結構保存爲共享首選項
- 3. 結構複雜
- 4. pycparser.plyparser.ParseError複雜結構
- 5. AutoMapping複雜結構
- 6. 將對象保存到Firebase
- 7. 將註釋保存到Firebase?
- 8. Redis存儲和查詢複雜結構
- 9. 無法在DynamicEmbeddedDocument中保存複雜的JSON結構(Mongoengine,Flask)
- 10. 將結構保存到文件
- 11. 測試複雜結構
- 12. Matlab:查詢複雜結構
- 13. Struts2的 - 從結構複雜
- 14. 複雜結構的詞幹
- 15. Lucene複雜結構搜索
- 16. 複雜的TreeView結構 - HierarchicalDataTemplate
- 17. 複雜的JSON結構
- 18. 數據結構樹複雜
- 19. 複雜的服務結構
- 20. XSD複雜的XML結構
- 21. 複雜的graphviz樹結構
- 22. 保存並恢復到firebase的日期?
- 23. 保存結構到UserDefaults
- 24. Firebase存儲結構示例
- 25. 保存複雜狀態
- 26. 將一個非常複雜的結構導入到matlab中
- 27. 將複雜的SVN分支層次結構遷移到Mercurial
- 28. MongoDB:構建複雜的數據結構
- 29. 無法構建複雜的JSON結構
- 30. 結合ArrayList的製作結構複雜
我從來沒有嘗試過,但是這看起來很有希望:https://stackoverflow.com/questions/29599005/how-to-convert-or-parse-swift-objects-to-json –
我的答案有幫助嗎? –