私が作ろうとしていることの簡単な概要。映画のレビューを表示するアプリを作成しています。PFQueryTableviewController
カスタムセルを使用しています。このテーブルは、Parse データベースからのフィルムを示しています。各セルには 3 つの UIButton があり、ユーザーが映画に投票するために使用したい (happyVote、OkVote、sadVote)。各ボタンの上には、単純にカウントを表示する UILabel があります。
どのように機能させたいか
- ユーザーがいずれかのボタンを押すと、投票が 1 増加します。
- ユーザーが同じボタンをもう一度押すと、投票が 1 減ります。
- ユーザーが別のボタンを押した場合、投票は最初のボタンで減少し、押したばかりのボタンで増加します。
- ユーザーはいずれかのボタンにしか投票できません。
- 投票は、カウントを示す UILabel とボタン イメージの変化によって示されます。
ビジュアルについては、以下を参照してください。
これは私がParseに追加したものです:
これまでのところ、Parse の投票数を増やすためのコードを my に追加しましたTableViewController.swift
。
@IBAction func upVoteButton(sender: AnyObject) {
let hitPoint = sender.convertPoint(CGPointZero, toView: self.tableView)
let hitIndex = self.tableView.indexPathForRowAtPoint(hitPoint)
let object = objectAtIndexPath(hitIndex)
object!.incrementKey("UpVoteCount")
object!.saveInBackground()
self.tableView.reloadData()
}
この種の機能は、ユーザーがカウントを増やし続けることができ、3 つのボタンすべてに投票できることを除いて機能します。また、押されたときにボタン画像は変更されません。
私のcellForRowAtIndexPath
方法では、私は入れました:
let downVote = object!.valueForKey("DownVoteCount") as! Int
cell.downVoteLabel.text = "\(downVote)"
let middleVote = object!.valueForKey("MiddleVoteCount") as! Int
cell.middleVoteLabel.text = "\(middleVote)"
let upVote = object!.valueForKey("UpVoteCount") as! Int
cell.upVoteLabel.text = "\(upVote)"
残りを理解する方法のいくつかの例をしばらく検索しましたが、何も見つかりません。次のステップを理解するのに本当に苦労しています。
私のコードが必要な場合、または見たい場合はお知らせください。ありがとう