Получить документы firebase в виде массива

Я создал документ, содержащий массив в Firestore.

Теперь я хочу сохранить этот массив локально в моем приложении

Я создал массив вручную, но как я могу заполнить его данными из моего документа Firestore?

//Manually created Array
var devices = [ "Laptop",
                "Tablet",
                "Smartphone",
                "Smartwatch",
                "Games Console"]

override func viewDidLoad() {
    super.viewDidLoad()
    createDevicePicker()
    createToolbar()
    getPickerData()
}

//Function to pull data from Firestore
func getPickerData() {
    let docRef = firebaseDB.collection("devices").document("types")
    docRef.getDocument { (document, error) in
        if let document = document, document.exists {
            //This will print out the data
            var test = document.data()
            print(test)
        } else {
            print("Document does not exist")
        }
    }
}

Так выглядит моя БД Firestore

Итак, у вас есть документ с содержимым массива? Измените свой вопрос, чтобы точно показать, что содержится в вашем документе.

Doug Stevenson 13.09.2018 20:21

@DougStevenson Обновленный вопрос с изображением

Oliver Ferris 13.09.2018 20:23
0
2
1 909
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

document.data() поступает как [String: Any].

Пока это Массив строк в вашем Firestore

let array = document.data()["devices"] as! [String]
print(array) 

ОБНОВЛЕНИЕ ВОПРОСА

Как добавить в уже созданный массив устройств.

 var devices = [ "Laptop",
                 "Tablet",
                 "Smartphone",
                 "Smartwatch",
                 "Games Console"]

 let array = data["sub_category"] as! [String]
 devices += array
 print(devices)

Как я могу затем присвоить значения из этого массива созданному мною массиву под названием «устройства» в моем коде

Oliver Ferris 13.09.2018 20:50

Я обновил свой ответ для вас. Должно быть так просто, как devices += array

Ethan 13.09.2018 21:03

Другие вопросы по теме