保存到现有 Parse.com 对象

Saving to existing Parse.com object

我收到以下错误 [1]“无法使用 'String' 类型的索引下标 '[AnyObject]' 类型的值。[2]无法使用参数调用 'saveInBackgroundWithBlock' “((Bool, NSError?) -> Void)”类型的列表。我正在尝试将整数保存到现有的 parse.com 列。

func heatUp(){
    let findDataParse = PFQuery(className:"flyerDataFetch")
    findDataParse.whereKey("objectId", equalTo: objectID)
    findDataParse.findObjectsInBackgroundWithBlock{
        (ObjectHolder: [AnyObject]?, error: NSError?) -> Void in
        if (error == nil) {
                //[1] First error
                 if let ObjectHolder = ObjectHolder {
                    ObjectHolder["attention"] = self.count
                }
                //[2] Second error
                ObjectHolder.saveInBackgroundWithBlock {
                    (success: Bool, error: NSError?) -> Void in
                    if (success){
                        println("successful save")
                    }
                  }
                 }
                }

}

改变

(ObjectHolder: [AnyObject]?, error: NSError?) -> Void in

(ObjectHolder: [String]?, error: NSError?) -> Void in

将 PFObject 替换为任何对象(转换它),错误时将其删除或不要将其作为可选对象

我不是 100% 确定这段代码应该做什么,但是...

错误 1:ObjectHolder 是 AnyObject 类型的数组。您正在尝试获取 ObjectHolder 的 "attention" 索引,这是不可能的。请记住,只有数值会进入数组的 [] 以进行索引。例如,如果要获取数组中的第一个值:

value = array[0]

您可能想使用 ObjectHolder[0] 获取 ObjectHolder 中的第一个 PFObject,然后对该列进行编辑。

object = ObjectHolder[0]
object["attention"] = self.count

错误 2:您再次尝试对对象列表执行一系列操作。使用您刚刚在上面创建的对象,执行:

object.saveInBackgroundWithBlock {...