Отображение данных Firestore в UIPicker Swift 4 - PullRequest
0 голосов
/ 26 апреля 2018

Я все еще новичок в быстрой разработке, моя проблема в том, что у меня есть структура Firestore, как показано ниже:

enter image description here

проблема заключается в отображении спискаtitle из firestore в uipicker, мне нужно получить данные в массив, как показано ниже: [firsProgramme, secondProgramme, thirdProgramme]

Мне удалось отобразить все «заголовки» из firestore в строке, а не вМассив

ниже - код:

func getprogram() {
 let db = Firestore.firestore()
    db.collection("Programme").getDocuments()
        {
            (querySnapshot, err) in

            if let err = err
            {
                print("Error getting documents: \(err)");
            }
            else
            {
                for document in querySnapshot!.documents {
                    let data = document.data()

                    let program = data["title"] as? String ?? ""
                  //  let agencyId = document.documentID
                    print(program)
                    //print("\(document.documentID) => \(document.data())");
                }

            }
    }

} 

результат печати (программа) возврат, как показано ниже:

первая программа

вторая программа

thirdprogramme

другая часть для UIPicker уже хорошо управляется.Заранее спасибо.

1 Ответ

0 голосов
/ 26 апреля 2018

В вашем классе создайте переменную-массив для хранения информации о ваших программах:

var programsArray: [String] = []

При чтении данных из Firebase вместо print(program) используйте programsArray.append(program). Вызовите функцию перезагрузки UIPickerView после того, как у вас есть все данные.

DispatchQueue.main.async { self.your_picker_view.reloadAllComponents() }

И, конечно же, используйте этот массив в своих методах источника данных pickerview.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...