self.db.collection("jokes").document("Dad Jokes").addSnapshotListener { document, error in //check for error if error == nil { //check if document exists if document != nil && document!.exists { if let JokeNum = document!.get("JokeNum") as? Int { self.countDadJokes = JokeNum UserDefaults.standard.setValue(JokeNum, forKey: "countDadJokes") print("DadJokeNum = \(self.countDadJokes)") } var count = 1 print("count = \(count)/\(self.countDadJokes)") print("countDadJoke = \(self.countDadJokes)") while count >= self.countDadJokes { print("count = \(count)/\(self.countDadJokes)") if let Joke = document!.get("\(count)") as? String { print("DadJokeNum = \(self.countDadJokes)") self.dadJokes.append(Joke) print("Dad Joke: \(Joke)") UserDefaults.standard.setValue(self.dadJokes, forKey: "dadJoke") count = count + 1 print("count = \(count)/\(self.countDadJokes)") } } } } }