我有这个查询
var postsExploreQuery = Post.query()
postsExploreQuery!.whereKey("isPrivate", equalTo: false)
var query = PFQuery.orQueryWithSubqueries([postsExploreQuery])
query.whereKey("isPublished", equalTo: true)
return query
和Xcode显示错误
无法调用' orQueryWithSubqueries'使用类型'([PFQuery?])'
的参数列表
我做错了什么:(
答案 0 :(得分:1)
你真的应该放弃在所有选项之后加!
的习惯。这消除了选项旨在为您提供的所有安全性。除非设计不当,否则您使用的API将返回可选项。使用if let
安全打开您的选项。这样就减少了程序将来随机崩溃的可能性,并且如果对你的程序有意义,还可以使用else来处理错误。
var postsExploreQuery = Post.query()
if let postsExploreQuery = postsExploreQuery {
postsExploreQuery.whereKey("isPrivate", equalTo: false)
var query = PFQuery.orQueryWithSubqueries([postsExploreQuery])
query.whereKey("isPublished", equalTo: true)
return query
}
答案 1 :(得分:-1)
我的猜测是orQueryWithSubqueries
期望一组非选项,所以你可能必须把它写成:
var query = PFQuery.orQueryWithSubqueries([postsExploreQuery!])