Parse platform PFUser.query()强制展开的崩溃

Parse platform PFUser.query()强制展开的崩溃,parse-platform,swift2,crash-reports,crashlytics,symbolicatecrash,Parse Platform,Swift2,Crash Reports,Crashlytics,Symbolicatecrash,背景 解析1.8.5 iOS SDK Xcode 7.0.1(7A1001) 斯威夫特2 在我的代码中,我将PFUser子类化(命名为MyUser),并尝试使用MyUser.query()创建查询。它返回我PFQuery? let query = MyUser.query() query!.whereKey("username", containedIn: ["a", "b"]) query!.findObjectsInBackgroundWithBlock({ (objects, erro

背景

  • 解析1.8.5 iOS SDK
  • Xcode 7.0.1(7A1001)
  • 斯威夫特2
在我的代码中,我将PFUser子类化(命名为MyUser),并尝试使用
MyUser.query()
创建查询。它返回我
PFQuery?

let query = MyUser.query()
query!.whereKey("username", containedIn: ["a", "b"])
query!.findObjectsInBackgroundWithBlock({ (objects, error) -> Void in
  ...
})
然后我将此提交给App Store Review,被拒绝了4次(花了我4周时间),他们一直在这里报告应用程序崩溃。这是非常令人沮丧的。在与Crashlytics进行检查后,它表示下面的一行正在提升
EXC\u断点

query!.whereKey("username", containedIn: ["a", "b"])
苹果公司的崩溃日志说它是
EXC_断点(SIGTRAP)
,这意味着
是一种非可选的类型,其值为nil
。事实上,苹果提供的符号化版本的崩溃日志显示行号为0


我选中了,返回的
PFQuery
不是可选的。我想知道实现此逻辑的最佳实践是什么。

我以前没有尝试过将
PFObject
子类化,但在检查文档时,query方法
(PF_NULLABLE PFQuery*)query
清楚地返回一个可为null的
PFQuery
对象,Swift将其视为可选对象。(请参阅)它还说,子类只能在符合协议的情况下调用此方法

通常,当存在可选项时,您确实需要类似于
if let
的内容来保护自己免受
nil
返回的影响