我认为这是Parse中的一个错误,但我不知道在哪里举报。
我正在使用Parse和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)
但是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报告此错误?或者您对解决方法有任何想法吗?我们需要在我们的应用程序中使用此逻辑。
答案 0 :(得分:0)
这是Parse iOS SDK中的一个错误,版本1.6.1
。它似乎已在1.6.2
中修复。