检测用户是否报告了当前项目

时间:2015-10-20 07:00:42

标签: xcode swift parse-platform

在我的图片查看器应用程序中,用户可以报告帖子,为此,我使用以下代码:

            let currentUpload = PFObject(withoutDataWithClassName: "currentUploads", objectId: post.objID) // post.objID shows the current objectId for the selected row from parse.com class.

            currentUpload.incrementKey("timesReported")

            currentUpload.saveInBackgroundWithBlock {
                (success: Bool, error: NSError?) -> Void in
                if (success) {
                    // The object has been incremented
                } else {
                    // There was a problem, check error.description
                }
            }

enter image description here

您可以看到图像的存储方式,在右侧,它可以显示图像的报告次数。但问题是,同一个用户可以多次报告同一个项目。

关于我能做什么的任何建议?

1 个答案:

答案 0 :(得分:0)

可能你应该有单独的表(例如UserReported),它将记录哪个用户报告了哪个帖子。如果该表中不存在记录,则在原始报告中增加timesReported计数(currentUploads)。

如果用户已将UserReported表报告给用户,则可以使用以下方法。 1.在解析云上的保存挂钩之前使用以检查用户是否已经报告它。并相应地忽略请求。 要么 2.您可以在保存之前查询项目 例如 How to prevent duplicate entry on parse?