繁体   English   中英

或iOS解析中的查询

[英]OR Queries in Parse for iOS

我试图为我的应用程序创建一个复合查询,以在我的Parse数据库中搜索PFUser列表,这些用户的名字或姓氏或用户名包含使用键盘输入的特定单词。

为此,我的代码是:

let usernameQuery = PFUser.query()
usernameQuery!.whereKey("username", containsString: searchBar.text?.lowercaseString)

let firstnameQuery = PFUser.query()
usernameQuery!.whereKey("firstname", containsString: searchBar.text?.lowercaseString)

let lastnameQuery = PFUser.query()
usernameQuery!.whereKey("Lastname", containsString: searchBar.text?.lowercaseString)

let query = PFQuery.orQueryWithSubqueries([usernameQuery, firstnameQuery, lastnameQuery])
query.findObjectsInBackgroundWithBlock{ ......

我的问题是,我在创建带有以下错误消息的子查询数组时出错: Cannot convert value of type '[PFQuery?]' to expected argument type '[AnyObject]'我对Swift不太熟悉,当时想知道是否有人对如何解决这个问题有任何线索?

在此先感谢您的帮助!

这里有几个问题。

在语法方面,请注意! usernameQuery!.whereKey 这告诉我们usernameQuery是一个可选值,需要将其解包。

因此正确的复合查询应为

let query = PFQuery.orQueryWithSubqueries([usernameQuery!, firstnameQuery!, lastnameQuery!])

接下来,您将要在每个单独的查询上调用whereKey ,而不是在usernameQuery上都调用它们。 我猜那些是经典的复制/粘贴错字:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM