[英]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.