Ich implementiere eine Frage & Antwort-Programm in Swift, mit Firebase. Ich möchte eine ähnliche Schaltfläche in meiner TableViewCell haben. Ich habe jedoch ein Problem, weil die Daten des Beitrags in der TableView-Klasse sind und ich Änderungen an der Schaltfläche "Like" in der Klasse "TableViewCell" vornehmen kann. Ich brauche eine Datenübertragung zwischen diesen beiden. Kann mir jemand dabei helfen?Swift Firebase Wie Beitrag in der Tabellenansicht
Wenn es geht um Ihnen zu helfen, mein Problem, Code in meiner Tabelle Ansicht zu verstehen:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let answerCell = tableView.dequeueReusableCell(withIdentifier: "AnswerCell") as! AnswerCell
let answer = answers[indexPath.row]
answerCell.answerText.text = answer.answerText
answerCell.username.text = "~ \(answer.username)"
answerCell.numberOfLikes.text = "\(answer.numberOflikes) liked this answer."
answerCell.answerText.numberOfLines = 0
return answerCell
}
ich einen Code wie dies in meiner Tableview Zelle haben will. Ich kann jedoch nicht auf die Daten des Antwortobjekts zugreifen.
@IBAction func likeButtonClicked(_ sender: UIButton) {
ref = Database.database().reference()
ref.child("answerLikes").child((answer.id).observeSingleEvent(of: .value, with: {
(snapshot) in
if let _ = snapshot.value as? NSNull {
sender.setImage(UIImage(named: "filledHeart.png"), for: .normal)
} else {
answerLikes = [Auth.auth().currentUser?.uid : true]
ref.child("answerLikes").child(answer.id).updateChildValues(answerLikes)
sender.setImage(UIImage(named: "emptyHeart.png"), for: .normal)
}
})
}
Wo Methode 'likeButtonClicked' platziert werden? –
Es ist in der AnswerCell. Sollte es in der Tabellenansicht Controller sein? Vielen Dank für Ihre Antwort. – atunaysaka