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