Почему PFObject не сохраняется в фоновом режиме?

Вот мой код, я просто пытаюсь настроить значение объекта в классе PFUser.

var query = PFUser.query()
let userStr = "exampleuser"
query.whereKey("username", equalTo: userStr)
    
query.getFirstObjectInBackgroundWithBlock{(object: PFObject!, error: NSError!) -> Void in
        
        object.incrementKey("count")
        object.saveInBackground()
        
        println(object["count"]) //Prints correct value
}

Как видно из комментария, object[count] возвращает новое обновленное значение, а в Parse ничего.


person George Poulos    schedule 26.03.2015    source источник


Ответы (1)


Попробуйте изменить сохранение на object.saveInBackgroundWithBlock(...) и посмотрите, появляется ли ошибка. Вполне вероятно, что у текущего пользователя нет разрешения на обновление объекта пользователя, выбранного в запросе.

ACL по умолчанию для объекта PFUser позволяет редактировать только владельцу.

person picciano    schedule 26.03.2015
comment
Интересно, что saveInBackgroundWithBlock вообще не срабатывает. Внутри блока ничего не работает. Возможно, ваш последний комментарий является проблемой, и я начну разбираться в этом. - person George Poulos; 26.03.2015
comment
Кроме того, вы должны проверить, возвращает ли getFirstObjectInBackgroundWithBlock объект или ошибку. Возможно, у вас даже нет разрешения на чтение для объекта User. - person picciano; 26.03.2015
comment
Речь идет о разрешениях. По умолчанию пользовательская таблица недоступна для записи другим пользователям. см. stackoverflow.com/a/16696239/294949 - person danh; 26.03.2015