将对象转换为写入firebase? (只能存储NSNumber,NSString,NSDictionary和NSArray类型的对象)

时间:2018-03-19 14:56:03

标签: arrays swift firebase

我有一个这样的数组:var myArray = [(String, Int)]()
我想将此写入Firebase,但得到错误:“只能存储NSNumber,NSString,NSDictionary和NSArray类型的对象”
当我执行此操作时:("\(myArray)")更新childValues时,它会通过,但它也会写入所有“”,()和\的 我有一个从Firebase读取的网页,我希望通过删除多余的字符使其看起来更好 是否可以转换我的数组或其他东西以使Firebase接受它?

1 个答案:

答案 0 :(得分:0)

您的数组是一个元组数组,元组不是受支持的类型之一。

您可以将元组映射到真实数组

let realArray = myArray.map{[$0.0, $0.1]}

请考虑documentation

中的这一说明
  

元组对临时的相关值组很有用。它们不适合创建复杂的数据结构。如果您的数据结构可能超出临时范围,则将其建模为类或结构,而不是作为元组。