2015-06-21 2 views
2

Имя класса: Продукт Колонка Имя: Любит[Error]: объект не найден для обновления Swift + Parse.com

я напечатать 1 и 2 только для проверки

var objectID = "wbgNSvui5b" //object are exist in my database 

var query = PFQuery(className:"Product") 
var P = query.getObjectWithId(objectID) 
       P.incrementKey("Likes") 
P.saveInBackgroundWithBlock { 
    (success: Bool, error: NSError?) -> Void in 
    if (success) { 
     println("1") 
     // The score key has been incremented 
    } else { 
     println("2") 

     // There was a problem, check error.description 
    } 
} 

всегда печатать 2 с объектом не найден для обновления (Код: 101, Версия: 1.7.4)

+0

У вас, вероятно, проблемы с аутентификацией. У вас есть «PFUser» в вашем приложении? –

+0

Также убедитесь, что имя объекта и имя класса точно верны. Является ли утверждение get успешным? Или объект не найден? – milesper

+0

@ egor.zhdan Да, я вошел в систему до этой страницы. и я проверяю. – aBandan

ответ

-2

Я не думаю, что вы можете сделать разрыв строки в синтаксисе закрытия между именем метода и возвращаемыми значениями (думаю, in должен быть последняя вещь перед разрывом строки). Возможно, вы просто отформатировали свой код для переполнения стека, но просто подумали, что я бы сказал об этом:

P.saveInBackgroundWithBlock { (success: Bool, error: NSError?) -> Void in 
    if success{ 
    println("success") 
    }else{ 
    println(error!.localizedDescription) 
    } 
} 

Удачи. :)

+0

Неправильно. Я обычно кладу закрывающий блок на следующую строку. – Julian

+0

Верно ли это для предыдущих версий Swift? Язык сильно изменился с июня 2015 года. –

+0

Разрыв строки также разрешен в Swift 1. – Julian

Смежные вопросы