Сохранение в существующий объект Parse.com

Я получаю следующие ошибки [1]"Невозможно добавить значение типа '[AnyObject]" с индексом типа "String". [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 ответа

Решение

Поместите PFObject вместо anyobject (конвертируйте его) и в случае ошибки удалите его или не устанавливайте как опциональный

Я не уверен на 100%, что должен делать этот код, но...

Ошибка 1: ObjectHolder - это массив типов AnyObject. Вы пытаетесь получить индекс "внимания" ObjectHolder, что невозможно. Помните, только числовые значения входят в [] массива для индексации. Например, если вы хотите получить первое значение в массиве:

value = array[0]

Вы, вероятно, хотите получить первый объект PFObject в ObjectHolder, используя ObjectHolder[0], а затем выполните редактирование этого столбца.

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

Ошибка 2. Опять же, вы пытаетесь выполнить массив операций со списком объектов. Используя объект, который вы только что создали, выполните:

object.saveInBackgroundWithBlock {...

+ Изменить

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

к

(ObjectHolder: [String]?, error: NSError?) -> Void in
Другие вопросы по тегам