您好我试图使我的投票民意调查类似于Youtube。现在,当用户点击'喜欢'按钮,它会上升,如果同一个用户点击它,它将会下降。我的问题是制作不喜欢按钮的最佳方法是什么,以便当用户喜欢按钮然后点击不喜欢按钮时,计数器会正确计算,反之亦然?"谢谢!
**补充信息:我有一个不喜欢的按钮和不喜欢的标签。
cell!.shouldEnableLikeButton(false)
let liked: Bool = cell!.likeButton.selected
cell?.setLikeStatus(liked)
let originalButtonTitle = cell?.likeLabel!.text
var likeCount: Int = originalButtonTitle!.toInt()!
if liked {
likeCount += 1
} else {
likeCount -= 1
}
cell!.likeLabel.text = "\(likeCount)"
答案 0 :(得分:1)
我假设您有一个后端接受修改计数的数字。
将likeCount存储为"民意调查"在电话本地。将每个轮询保留为唯一ID,并在手机数据库中保留用户已为该轮询投票的内容。 它可以有三种状态:
现在,如果状态从“是”更改为“否”,则应用向后端报告 -2 。如果状态将“否”更改为“是”,则应用报告 +2 。如果状态从NotYetVoted更改为是,则应用报告 +1 ,NotYetVoted为否,应用报告 -1 。在所有其他情况下,应用程序不会向后端报告任何内容。
我希望这会有所帮助。