我认为这是 Parse 中的一个错误,但我不知道在哪里报告它。
我正在使用 Parse 和 Swift。我有一个PFQueryTableViewController
.
In my queryForTable
函数,我CAN使用以下查询就可以了:
query.whereKey(kHWActivityFromUserKey, equalTo: User.currentUser())
然而,当我改变equalTo
to notEqualTo
, 像这样:
query.whereKey(kHWActivityFromUserKey, notEqualTo: User.currentUser())
...然后表格保持空白并且什么也不做。 (它甚至不显示空行。)
我试图弄清楚发生了什么事,所以我接受了这个询问并打电话给findObjectsInBackgroundWithBlock
手动对其进行查看objects
and 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
with a PFObject
.
我也尝试过使用objectId
而是在查询中使用字符串,如下所示:
query.whereKey(kHWActivityFromUserKey, notEqualTo: User.currentUser().objectId)
但是 Parse 只是给了我一个指针错误:
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 报告此错误?或者您有任何解决方法的想法吗?我们需要在我们的应用程序中包含这种逻辑。