Я думаю, что это ошибка в Parse, но я не знаю, где сообщить об этом.Parse PFQuery whereKey: notEqualTo не работает для объектов PFUser
Я использую Parse with Swift. У меня есть PFQueryTableViewController
.
В моей queryForTable
функции, я CAN использовать этот следующий запрос просто отлично:
query.whereKey(kHWActivityFromUserKey, equalTo: User.currentUser())
Однако, когда я изменяю equalTo
к notEqualTo
, как это:
query.whereKey(kHWActivityFromUserKey, notEqualTo: User.currentUser())
... потом таблица остается пустой и ничего не делает. (Он даже не показывать пустые строки.)
Я попытался выяснить, что происходит, поэтому я принял этот запрос, и я назвал findObjectsInBackgroundWithBlock
на нем вручную, чтобы посмотреть на objects
и error
внутри блока. Удивительно, но блок никогда не назывался!
Тогда я побежал запрос на основной поток, как это:
var error = NSErrorPointer()
var objects = query.findObjects(error)
Когда я побежал это, все мое приложение разбился со следующим исключением:
2015-02-11 13:26:45.339 HDWR[18996:3057150]
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: 'Couldn't create cache key from
<PFUser: 0x7f8e885de7c0, objectId: X7lSc1Gajm, localId: (null)> {
...
Так что я думаю, что есть является ошибкой, связанной с кешированием, когда я использую whereKey:notEqualTo
с PFObject
.
Я также попытался использовать objectId
строку в запросе вместо, например:
query.whereKey(kHWActivityFromUserKey, notEqualTo: User.currentUser().objectId)
Но тогда Разбираем просто дает мне ошибку указателя:
2015-02-11 13:45:46.550 HDWR[19708:3069545]
Error: pointer field fromUser needs a pointer value (Code: 102, Version: 1.6.0)
Как я могу сообщить об этом ошибка в парсе? Или у вас есть идея об обходном пути? Нам нужно иметь эту логику в нашем приложении.
Parse предоставляет канал для сообщения об ошибках через страницу справки: https://parse.com/help –
Не могли бы вы показать свой код в findObjectsInBackgroundWithBlock? Вы передаете другие параметры/params в запрос? –
Спасибо @HectorRamos, я отправил там ошибку. – ndbroadbent