Я пытаюсь увеличить на 1 столбец с именем «ThumbsDown» в моей базе данных Parse, но строка кода, в которой я выполняю такое увеличение, заставляет приложение обрабатывать sh. Столбец имеет тип «Number».
PFQuery *downvoteUser = [PFQuery queryWithClassName:@"UserRating"];
[downvoteUser whereKey:@"User" equalTo:PFUser.currentUser.username];
NSArray *downVote = [downvoteUser findObjects];
NSLog(@"objectID : %@", [downVote valueForKey:@"objectId"]);
NSLog(@"ThumbsDown : %@", [downVote valueForKey:@"ThumbsDown"]);
// Here we update the Rated column in Event Class
PFObject *CurrentUserThumbsDown = [PFObject objectWithoutDataWithClassName:@"UserRating" objectId:[downVote valueForKey:@"objectId"]];
[CurrentUserThumbsDown incrementKey:@"ThumbsDown"];
[CurrentUserThumbsDown save];
Согласно моим тестам:
- Если я удаляю incrementKey, он не будет аварийно завершать работу; но он ничего не сделает
- NSLogs фактически возвращают ожидаемые значения, полученные из облака.
- Я не могу событие распечатать ошибку из сохранения, потому что она терпит крах, прежде чем я могу ее перехватить
Я получаю ошибку cra sh:
2020-01-19 19:25:41.024887+0100 Sporteve[39724:418054] Warning: A long-running operation is being executed on the main thread.
Break on warnBlockingOperationOnMainThread() to debug.
2020-01-19 19:25:41.025422+0100 Sporteve[39724:418243] -[__NSSingleObjectArrayI length]: unrecognized selector sent to instance 0x600001572ef0
2020-01-19 19:25:41.027731+0100 Sporteve[39724:418243] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSSingleObjectArrayI length]: unrecognized selector sent to instance 0x600001572ef0'
РЕДАКТИРОВАТЬ / СОВЕТ:
- Если я изменю objectID в PFObject для реального objectId из базы данных, это на самом деле работает, поэтому проблема должна быть в NSArray.