【发布时间】:2017-03-30 04:33:24
【问题描述】:
问题
我需要将数据发布到firebase 数据库中,该数据库(就数组而言)只能接受NSArray 类型。然而,应用程序需要添加到数组中
将发布的 Json 数据
Object: someObjectKey[
ArrayOfItems[
Item: someItemNumber
Item: someItemNumber
Item: someItemNumber
]
TimeStamp: 102047355
SomeOtherTimeStamp: null
SomeInt: 1111
someOtherInt: 2222
SomeBoolean: false
]
}
目标
我怎样才能将上面的数据推送到数据库中?
尝试过的途径
-将SwiftArray 转换为NSArray
-将NSMutableArray 转换为NSArray
代码
public func postToFireBase(){
var Timestamp: String {
return "\(NSDate().timeIntervalSince1970 * 1000)"
}
var someInt = 1111
var someOtherInt = 2222
let myArrayOfStuff = convertItemsToNSArray()
let post: [String : Any] = ["timestamp": Timestamp,
"someInt": someInt,
"someOtherInt": someOtherInt,
"items": ItemList]
//Method Call References the FIRDatabase.database.reference.child...
FirebaseDatabaseService.databaseReference.setValue(post)
}
private func convertItemsToNSArray() -> NSArray{
var thisArray: NSMutableArray = []
for item in items{
thisArray.add(["name": "Foo",
"key": "Bar",
"someCoolInt": 1234])
}
return thisArray
//This won't work because it's coming back as NSMutableArray anyway
}
干杯
【问题讨论】:
-
这里有什么错误?
-
请不要将数组存储在 Firebase 中。您无法访问特定元素。如果您在数组中添加或更改某些内容,则必须读取整个数组以获取元素或完全替换。此外,您不能插入。应该不惜一切代价避免使用数组。
-
啊,所以不会是字典数组吧?
标签: ios json swift firebase firebase-realtime-database