更新Parse类中的列中的值

时间:2015-10-18 00:03:14

标签: xcode swift parse-platform

我正在尝试更新Parse中“currentUploads”类中的列: Image here

这就是我正在尝试的

@IBAction func reportButtonAction(sender: AnyObject) {
    println("Report Button Pressed")
    let buttonPosition = sender.convertPoint(CGPointZero, toView: self.collectionView)
    let indexPath = self.collectionView.indexPathForItemAtPoint(buttonPosition)

    var alertMessage = NSString(format: "*User: %@\r *Text: %@\r *Created at %@", imageUploader[indexPath!.row], imageText[indexPath!.row]/*, imageCreated[indexPath!.row]*/)

    var reportAlert = UIAlertController(title: "Report Content", message:alertMessage as String, preferredStyle: UIAlertControllerStyle.Alert)

    reportAlert.addAction(UIAlertAction(title: "Yes", style: .Default, handler: { (action: UIAlertAction!) in
        println("Handle Report Logic here")
        self.reportContent()
    }))

    reportAlert.addAction(UIAlertAction(title: "Cancel", style: .Default, handler: { (action: UIAlertAction!) in
        println("Handle Cancel Logic here")
    }))

    presentViewController(reportAlert, animated: true, completion: nil)
}

func reportContent(){
    let someQuery = PFQuery(className: "currentUploads")
    someQuery.getObjectInBackgroundWithId("imageFile") {
        (updatedObject: PFObject?, error: NSError?) -> Void in
        if error != nil {
            print(error)
        } else if let updatedObject = updatedObject {
            updatedObject["reportedCount"] = "1"
            updatedObject.saveInBackground()
        }
    }
}

所以我想在func reportContent中为所选图像更新/增加“reportedCount”为1,但我收到此错误:

  

[错误]:没有与查询匹配的结果。 (代码:101,版本:1.8.0)   可选(错误域=解析代码= 101“没有与查询匹配的结果。”   UserInfo = 0x7fae8a484aa0 {error =没有与查询匹配的结果。,   NSLocalizedDescription =没有与查询匹配的结果。,代码= 101})

1 个答案:

答案 0 :(得分:0)

我相信这是因为你查询了所有带有“imageFile”的实例,而不是实际的行。你想使用像

这样的东西
someQuery.whereKey(objectId, EqualTo: objectId)

并使用

someQuery.findObjectsInBackgroundWithBlock

其中objectId将是您要更改reportingCount的对象的对象ID。

然后你可以做

object.setValue(object["reportedCount"] as! Int + 1, forKey: "reportedCount")

这是所有伪造的代码,但我这样做是为了增加用户添加新朋友时的朋友数量。