Почему, когда я добавляю новые данные в базу данных firebase, дублируется в моем приложении, но когда я вытягиваю, чтобы обновить его обратно, а не дублировать, я поместите снимок экрана о том, как данные отображаются в моем симуляторе проекта. Это то, как данные появляются в моем проекте. Новые добавленные данные в базе данных firebase дублируют его сам, прежде чем тянуть, чтобы обновить с помощью Swift3
Это мой код.
import UIKit
import FirebaseDatabase
import SDWebImage
import FirebaseAuth
class ViewController: UIViewController , UITableViewDataSource , UITableViewDelegate {
@IBOutlet weak var tableView: UITableView!
var Ref:FIRDatabaseReference?
var Handle:FIRDatabaseHandle?
var myarray = [Posts]()
var refresh = UIRefreshControl()
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
refresh.addTarget(self, action: #selector(ViewController.loadData), for: .valueChanged)
tableView.addSubview(refresh)
}
override func viewDidAppear(_ animated: Bool) {
loadData()
}
func loadData(){
self.myarray.removeAll()
Ref=FIRDatabase.database().reference()
Handle = Ref?.child("Posts").queryOrdered(byChild: "Des").queryEqual(toValue: "11").observe(.childAdded ,with: { (snapshot) in
if let post = snapshot.value as? [String : AnyObject]{
let img = Posts()
img.setValuesForKeys(post)
self.myarray.append(img)
print("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\(img)")
self.tableView.reloadData()
}
})
self.refresh.endRefreshing()
}
Можете ли вы показать код, в котором вы добавляете сообщение? –
Я добавляю его непосредственно из консоли базы данных. –
Вы пытались использовать '.value' вместо' .childAdded'? –