私はFirebaseを使用してSwiftで質問& Answerプログラムを実装しています。私は私のテーブルのViewCellのようなボタンを持っています。しかし、ポストのデータがtableViewクラスにあり、tableViewCellクラスのlikeボタンを変更できるため、問題が発生しています。私はこれらの2つの間でデータ転送が必要です。誰もこれで私を助けることができますか?Swift Firebaseがテーブルビューの投稿のように
私のテーブルビュー内のコード、私の問題を理解するためにあなたを助けるために起こっている場合:
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
}
私はテーブルビューのセルに次のようなコードを持っていると思います。ただし、回答オブジェクトのデータにアクセスすることはできません。
@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)
}
})
}
をあなたの下のコードを書くのだろうか? –
AnswerCellにあります。それはテーブルビューコントローラ内にあるはずですか?お返事をありがとうございます。 – atunaysaka