快速概述我正在尝试制作的内容。我正在制作一个应用程序来显示我的电影评论。我有一个PFQueryTableviewController
我使用自定义单元格的。此表显示来自我的 Parse 数据库的电影。在每个单元格中,有 3 个 UIButtons,我希望用户使用它们来为电影投票(happyVote、OkVote、sadVote)。每个按钮的顶部是一个 UILabel,它只是显示一个计数。
我希望它如何工作
- 当用户按下其中一个按钮时,投票增加 1。
- 当用户再次按下相同的按钮时,投票减少 1。或者,
- 如果用户按下了不同的按钮,则第一个按钮的投票减少,而刚刚按下的按钮的投票增加。
- 用户只能对其中一个按钮进行投票。
- 投票由显示计数的 UILabel 和更改的按钮图像显示。
请参阅下面的视觉效果:
这是我在 Parse 中添加的内容:
到目前为止,我已经添加了代码来增加 Parse 中的投票计数,在我的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)"
我已经搜索了一段时间来寻找一些如何解决其余问题的示例,但找不到任何东西,而且我真的很难弄清楚接下来的步骤。
任何帮助将不胜感激,如果您需要/想要查看我的代码,请告诉我。谢谢