或 iOS 的解析查询
OR Queries in Parse for iOS
我正在尝试为我的应用程序创建一个复合查询,以在我的 Parse 数据库中搜索 PFUsers 列表,这些 PFUsers 的名字或姓氏或用户名包含使用键盘输入的特定词。
为此,我的代码是:
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
的所有查询。我猜这些是经典的 copy/paste 错别字 :)
我正在尝试为我的应用程序创建一个复合查询,以在我的 Parse 数据库中搜索 PFUsers 列表,这些 PFUsers 的名字或姓氏或用户名包含使用键盘输入的特定词。
为此,我的代码是:
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
的所有查询。我猜这些是经典的 copy/paste 错别字 :)