У меня есть этот код, и я вызываю его каждый раз, когда нажимаю на кнопку и вызываю другой view-контроллер, где я вызываю fetchVinylData внутри viewWillappear. Проблема в том, что каждый раз, когда я нажимаю кнопку, чтобы перейти к этому VC, он добавляет один элемент к табличному представлению, даже если у меня есть только один в моей базе данных. Я предполагаю, потому что мой массив продолжает подпитываться, даже если в моей базе данных есть только одна запись .Как я удаляю из своего массива, чтобы я не получал много значений в моем tableView только те, которые сохранены в моей базе данных Firebase? Я пытался добавить myArray.removeAll () в fetchrequest, прежде чем я загружаю винил в массив, но мое приложение падает в конце концов
func fetchVinylData() {
SVProgressHUD.show()
guard let currentUID = Auth.auth().currentUser?.uid else { return }
dbRef.child("vinylsOUT").child(currentUID).observe(.childAdded) { (snapshot) in
guard let dictionary = snapshot.value as? Dictionary<String,AnyObject> else { return }
let vinyl = Vinyl(dictionary: dictionary)
self.vinyls.append(vinyl)
self.vinyls.sort(by: { (vinyl1, vinyl2) -> Bool in
return vinyl1.artist < vinyl2.artist
})
self.tableView.reloadData()
}
SVProgressHUD.dismiss()
}
Большое спасибо