在没有objectID Swift的Parse中更新行

时间:2015-02-21 00:15:17

标签: ios swift parse-platform pfquery pfobject

我在Swift建立一个评级应用程序,我在Parse中存储图像的平均投票,总票数和当前投票。我想在没有objectId的情况下更新行。

考虑到我有大约1000张图像,每次为图像投票时给每个图像一个objectId +查询Parse似乎有点太多了。

var userData = PFObject(className:"UserData")

    userData.setObject(0, forKey: "imageNumber")
    userData.setObject(0, forKey: "totalVotes")
    userData.setObject(0, forKey: "Average")


    userData.saveInBackground()

每次用户通过点击IBAction点击对图像(1-10)进行投票我希望通过递增1)投票总数来更新Parse,2)此最新投票的新平均值和3 )我想更新用户界面以显示此信息。

目前,这是我没有运气的尝试。这是错误的,并且不起作用,我将其从发布的其他问题以及Parse文档中删除。

这就是我现在所拥有的:

 @IBAction func one(sender: UIButton) {
   //This is "one" vote. There are 9 more IBActions that do the exact same thing

   //Here is where I would update the labels on the UI
   // I would also have a function that is triggered to update parse based on this increment to the total # of votes and the average. 
   // This would also update the UI based on the votes received, querying the data from Parse. 
}

    func updateParse() {
        var randNumber = Int32()

        counter = 0
        counter++

    var query = PFQuery(className:"UserData")
        query.countObjectsInBackgroundWithBlock  {
            (count: Int, error: NSError!) -> Void in
            if error == nil {
                randNumber = arc4random_uniform(count)
                query2.whereKey("ImageNumber", equalTo:randNumber)
                query2.getFirstObjectInBackgroundWithBlock {
                    (userData: PFObject!, error: NSError!) -> Void in

                    if error != nil {
                       println(error)
                    } else {
                        let votes = userData["totalVotes"] as Int

                    }
                }
            }

}
    }

我试图找到一个与图像编号匹配的编号,以便根据用户所在的图像,当用户点击投票时,IBaction将触发将查找图像中的objectID的函数与Parse匹配。

我在查询Parse时遇到了问题,因此它更新了它所在的图像,因为我不知道如何更新该行。

有什么想法吗?非常感谢你......

PS,

由于问题的反馈,使事情变得更加清晰:

我不需要100000个objectIds。我只需要更新用户在特定图像上的相应行。

例如:如果用户在image783上并对图像进行投票并将该图像赋予" 7"作为评级,我想添加" 7"在" totalVotes"中的那一行解析后的image783,以便此图像现在有额外的7投票加到平均值/总数,最终影响该图像的总平均值和图像接收的总票数(我将计算Xcode文件中的平均值)。通过从Parse查询,最终将在UI上显示所有用户的总投票数和平均投票数。

0 个答案:

没有答案