0
我正在使用Firebase,我正在嘗試數據庫[CGPoint]
s的實時遊戲。我嘗試將結構類型更改爲[NSValue]
,因爲它至少符合AnyObject(請參閱下面的代碼),但現在出現運行時錯誤。有關如何將數據存入結構的任何建議,它會接受而不做一些瘋狂的事情?CGPoint數組作爲不同的結構
代碼
func convert(points : [CGPoint]) -> [NSValue] {
var tup = [NSValue]()
for x in points {
tup.append(NSValue(CGPoint: x))
}
return tup
}
func updateMap() {
var userMap = [String:[AnyObject]]()
userMap["forbiden"] = convert(forbiden)
userMap["roadMap"] = convert(roadMap)
userMap["settlementMap"] = convert(settlementMap)
userMap["upgradeMap"] = convert(upgradeMap)
self.ref.child(altUser+"/"+groupName+"/"+username).setValue(userMap)
}
運行時錯誤
終止應用程序由於未捕獲的異常 'InvalidFirebaseData', 原因:「(的setValue :)不能存儲類型的對象NSConcreteValue在 settlementMap.0。只能存儲NSNumber類型的對象,NSString, NSDictionary和NSArray。'