Команда for l oop работает и пропускает оставшуюся часть l oop. Swift 5 - PullRequest
0 голосов
/ 18 апреля 2020
func rat()
{
   for index in 0...self.uniqueNumber!-1
   {
      let db = Firestore.firestore()
      let indexString = String(index)
      print("Index:\(index)")
      db.collection("leaderboard").document(indexString).getDocument
         { (document,error) in
            if error != nil
            {
               print("cant get data")
            }
            if document != nil && document!.exists
            {
               if let documentdata = document?.data()
               {
                  self.check = documentdata["points"] as! Int
                  self.uid = documentdata["uid"] as! String
                  print("The user's ID was\(self.uid)")
                  if (self.check > self.firstPlace.placePoints)
                  {
                     self.secondPlace.placePoints = self.firstPlace.placePoints
                     self.secondPlace.placeNames = self.firstPlace.placeNames
                     self.firstPlace.placePoints = self.check
                     self.firstPlace.placeNames = self.uid
                     print("First Place was set to:\(self.firstPlace.placeNames)")
                  }
                  else if (self.check < self.firstPlace.placePoints && self.secondPlace.placePoints < self.check)
                  {
                     self.thirdPlace.placePoints = self.secondPlace.placePoints
                     self.thirdPlace.placeNames = self.secondPlace.placeNames
                     self.secondPlace.placePoints = self.check
                     self.secondPlace.placeNames = self.uid
                     print("Second Place was set to:\(self.firstPlace.placeNames)")
                  }
                  else if (self.check < self.secondPlace.placePoints && self.thirdPlace.placePoints < self.check)
                  {
                     self.thirdPlace.placePoints = self.check
                     self.thirdPlace.placeNames = self.uid
                     print("Third Place was set to:\(self.firstPlace.placeNames)")
                  }
               }
               if (index == self.uniqueNumber!-1)
               {
                  print("This is the escape out")
                  self.setGuys()
               }
            }
         }
   }
}

My for l oop выполняется через печать ("Index: (index)") 3 раза, и это ожидается, поскольку уникальное число равно 3. Однако при запуске выполняется оператор print () 3 раз, а затем, наконец, коллекция работает. Я хочу запустить коллекцию 3 раза. Почему это не работает. Заранее спасибо.

...