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