【问题标题】:Youtube style voting poll. what is the logic?Youtube 风格的投票投票。什么是逻辑?
【发布时间】:2023-03-15 19:28:01
【问题描述】:

您好,我正在尝试使我的投票投票类似于 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)"

【问题讨论】:

    标签: ios swift parsing voting


    【解决方案1】:

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

    将“投票”的likeCount 存储在手机本地。将每个投票保留为唯一的 id,并在电话数据库中保留用户已经为该投票投票的地图。 它可以有三种状态:

    1. 是的
    2. 没有
    3. 尚未投票

    现在,如果本地状态从 Yes 变为 No。应用会向后端报告 -2。如果状态从“否”变为“是”,应用会报告 +2。如果状态从 NotYetVoted 变为 Yes,应用报告 +1,NotYetVoted 变为 No,应用报告 -1。在所有其他情况下,应用程序不会向后端报告任何内容。

    我希望这会有所帮助。

    【讨论】:

    • 很少有人这样做,但我更喜欢使用 CoreData。 raywenderlich.com/115695/…
    • 你可以! :) 在这种情况下,Parse.com 表必须保存“每个用户”的数据,并且每次用户单击按钮时,它都会进行查询以检查投票状态是否已更改/
    • 不。只需添加一个数字“类型”。如果尚未投票,则为“0”,如果投票是,则为 1,如果投票否,则为 -1。现在,每次用户对应用程序投票时,如果他投票赞成,则无论当前值如何,都将其标记为该对象 id .每次他投反对票时,您都将其标记为-1。 :)
    猜你喜欢
    • 2019-04-03
    • 1970-01-01
    • 1970-01-01
    • 2011-06-05
    • 2012-10-29
    • 2012-07-14
    • 1970-01-01
    • 2011-02-26
    • 2012-03-15
    相关资源
    最近更新 更多