保存到现有的Parse.com对象

时间:2015-08-27 18:27:14

标签: ios swift parse-platform pfobject

我收到以下错误[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")
                    }
                  }
                 }
                }

}

3 个答案:

答案 0 :(得分:1)

将PFObject替换为任何对象(转换它)并将其删除或不将其作为可选项

答案 1 :(得分:0)

更改

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

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

答案 2 :(得分:0)

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

错误1:ObjectHolder是AnyObject类型的数组。你试图得到ObjectHolder的“注意”索引,这是不可能的。请记住,只有数值会进入数组的[]以进行索引。例如,如果要获取数组中的第一个值:

value = array[0]

您可能希望使用ObjectHolder [0]在ObjectHolder中获取第一个PFObject,然后编辑该列。

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

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

object.saveInBackgroundWithBlock {...