Как получить arrayList внутри документов в firebase firestore в ios, используя swift - PullRequest
0 голосов
/ 23 ноября 2018

Я новичок в ios, пожалуйста, примите во внимание .. У меня есть коллекция как organisationStandardTemplate ниже скриншот это добавить ... Я хочу сохранить мой список массивов из **roles** array list, присутствующего в документах.

enter image description here

Это код Android, работает нормально, как я хочу в iOS, используя язык swift ..

   FirebaseFirestore db = FirebaseFirestore.getInstance();
    db.collection("organisationStandardTemplate")
        .get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
            @Override
            public void onComplete(@NonNull Task<QuerySnapshot> task) {
                if (task.isSuccessful()){
                    if (task.getResult() != null) {
                        for (DocumentSnapshot documentSnapshot : task.getResult()){
                            if (documentSnapshot.exists()) {
                                try {
                                orgTemplate = (ArrayList<HashMap>) documentSnapshot.get("roles");
                                } catch (Exception e){
                                Log.e("Excep", e.getMessage());
                                }
                            }
                        }
                    }
                }
            }
        });

Код IOS

  func organisationStandardTemplate(){

  var orgTemplate = [AnyObject]() // here i crated my array list

  let db = Firestore.firestore()
        db.collection("organisationStandardTemplate").getDocuments() { (querySnapshot, err) in
            if err != nil{
                // print("\(document.documentID) => \(document.data())")
            }else {

              orgTemplate = //How to get and store into my orgTemplate array list 
                }
            }
        }

  }

Документ https://firebase.google.com/docs/firestore/query-data/get-data

Примечание: У меня есть только один документ, но я не хочу получать его на основе DocumentID, потому что у меня есть две базы данных, такие как тестирование и производство, поэтому каждый раз я не могу изменить внутренний код ..

1 Ответ

0 голосов
/ 23 ноября 2018

Объявить Arraylist

var orgTemplate = [AnyObject]()

 for document in querySnapshot!.documents {

          self.orgTemplate =  (document.data()["roles"] as  AnyObject) as! [AnyObject]
          print("resultdefault =sizess     :   \(self.orgTemplate.count)")
          print("resultdefault =orginaldatas     :   \(self.orgTemplate)")
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...