簡體   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