Youtube式投票民意调查。逻辑是什么?

时间:2015-10-21 13:07:33

标签: ios swift parsing voting

您好我试图使我的投票民意调查类似于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)"

1 个答案:

答案 0 :(得分:1)

我假设您有一个后端接受修改计数的数字。

将likeCount存储为"民意调查"在电话本地。将每个轮询保留为唯一ID,并在手机数据库中保留用户已为该轮询投票的内容。 它可以有三种状态:

  1. 没有
  2. NotYetVoted
  3. 现在,如果状态从“是”更改为“否”,则应用向后端报告 -2 。如果状态将“否”更改为“是”,则应用报告 +2 。如果状态从NotYetVoted更改为是,则应用报告 +1 ,NotYetVoted为否,应用报告 -1 。在所有其他情况下,应用程序不会向后端报告任何内容。

    我希望这会有所帮助。