2015-07-21 3 views
0

Данные из таблицы заполнения таблицы обработки. Когда вы выбираете ячейку, включите подробное понимание (подробные инструкции). Существует объект функции обновления (переход на другой контроллер). Проблема заключается в следующем:Ошибка при обновлении PFObject

Когда вы выбираете ячейку с индексом 0 (т. Е. Первую ячейку таблицы в списке) и затем пытаетесь ее отредактировать - возникает ошибка, первая ячейка не обновляется и второй. Я не понимаю, с чем это связано. А при выборе других ячеек - объекты обновляются должным образом. Может ли кто-то столкнуться с такой проблемой?

Вот код:

PFQuery *query = [PFQuery queryWithClassName:@"DATA"]; 
[query whereKey:@"username" equalTo:[PFUser currentUser]]; 

    [query getObjectInBackgroundWithId:objectId block:^(PFObject *object, NSError *error) { 

     if (!error) { 

      object [@"Name"] = name.text; 
      object [@"Address"] = address.text; 
      object [@"Date"] = datePicker.date; 

      [object saveInBackground]; 

     } else { 
      NSString *errorString = [error userInfo][@"error"]; 
      UIAlertView *error = [[UIAlertView alloc]initWithTitle:@"Oops!" message:errorString delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]; 

      [error show]; 
     } 
    }]; 

Где ObjectId - идентификатор объекта. имя, адрес - UITextField

ответ

1

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

Вы, возможно, следует изменить свой код на

[query whereKey:@"username" equalTo:[PFUser currentUser].username]; 
+0

Это не работает, то все равно обновляется второй ячейки –

+0

сообщение Какую ошибку вы получаете? – freytag

+0

Ошибка получена. Только не объект обновляется –