Целочисленное значение обновления IOS Firebase с пользовательским интерфейсом не работает должным образом - PullRequest
0 голосов
/ 04 декабря 2018

поэтому в основном я использую didselectrowAt для увеличения целого числа, представляющего количество просмотров, а затем перехожу к содержимому с меткой, показывающей количество просмотров, однако это значение не обновляется должным образом, так как первый щелчок не увеличивает второй видМетка счетчика просмотров контроллера, после возврата к первому контроллеру просмотра, счетчик просмотров также не обновляется, но со второго щелчка и далее, didselectrow работает нормально.

Кроме того, мне пришлось добавить reloaddata, чтобы воля исчезла, чтобы она работала так, кто-нибудь может помочь?

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    numberOfViews = questionArray[indexPath.row].viewcount
    id = questionArray[indexPath.row].id

    DispatchQueue.main.async {
        self.updateViewCount(qid:self.id, question: self.questionArray[indexPath.row])
    }


    //performSegue
    self.performSegue(withIdentifier: "questionDetailSegue", sender: self)
    tableView.deselectRow(at: indexPath, animated: true)
}

func updateViewCount(qid:String, question: Question){
    let questionDB = Database.database().reference().child("Questions").child(qid).child("Viewcount")

    questionDB.observeSingleEvent(of: .value) { (snapshot) in
        if let viewerValue = snapshot.value as? String{
            var viewerIntValue = Int(viewerValue)
            viewerIntValue! += 1
            questionDB.setValue(String(viewerIntValue!))
            question.viewcount = String(viewerIntValue!)
        }
}
}
override func viewWillDisappear(_ animated: Bool) {
    questionTableView.reloadData()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...