Firestore返回Dictionary <string,any =“”>,但我需要将这些值作为String

时间:2018-12-06 02:36:11

标签: swift firebase google-cloud-firestore

我正在使用Firebase在图像上获取Google Cloud Vision光学字符识别,然后将该信息放入Firestore数据库,但是当我从Firestore中提取数据时,它的类型为Dictionary。我需要将值包含在String中,以便可以操纵它们,但是我似乎无法将Any类型的内容强制转换为String。我可以将值放入数组,但它仍然是Any类型的数组。这是相关的代码段:

    db.collection("imagedata").document(puzzletest.name!).addSnapshotListener { documentSnapshot, error in
        guard let document = documentSnapshot else{
            print("error")
            return
        }
        guard let data = document.data() else{
            print("empty")
            return
        }
        let arrayofres = Array(data.values)

        print(type(of:arrayofres))
    }

这是我要查询的数据:

数据库图片

Screen Shot

任何指导将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以根据以下string值创建一个dictionary

let string = data.values.compactMap({ $0 as? String}).reduce("", +)