我正在查看解析文檔,並且有一個有趣的功能,我想用來驗證註冊用戶,如果用戶名和電子郵件提供了註冊(採取)或不。該文件提供了示例以下:Swift解析 - 使用PFQuery或QueryWithSubqueries函數
var lotsOfWins = PFQuery(className:"Player")
lotsOfWins.whereKey("wins", greaterThan:150)
var fewWins = PFQuery(className:"Player")
fewWins.whereKey("wins", lessThan:5)
var query = PFQuery.orQueryWithSubqueries([lotsOfWins, fewWins])
query.findObjectsInBackgroundWithBlock {
(results: [PFObject]?, error: NSError?) -> Void in
if error == nil {
// results contains players with lots of wins or only a few wins.
}
}
我對它的版本是:
/*Check username and email not taken*/
let usernameInputCheck = PFQuery(className:"_User")
usernameInputCheck.whereKey("appUsername", equalTo: self.usernameTxtField.text!)
let emailInputCheck = PFQuery(className:"_User")
emailInputCheck.whereKey("email", equalTo:self.emailTxtField.text!)
let query = PFQuery.orQueryWithSubqueries([usernameInputCheck, emailInputCheck])
query.findObjectsInBackgroundWithBlock {
(results: [PFObject]?, error: NSError?) -> Void in
if error == nil {
// results contains players with lots of wins or only a few wins.
}
}
我希望能夠檢查電子郵件或用戶名取,如果是設置一個標誌,以便我可以給用戶設置信息,例如:「提供的電子郵件已經註冊」或「用戶名不可用,請嘗試不同的信息」。
感謝您的幫助提前。
更新:這裏是爲了解析文檔的鏈接:https://parse.com/docs/ios/guide#queries-compound-queries
是的,這將檢查電子郵件是否被採取,但我所要求的是檢查電子郵件和用戶名(或兩者)是否都被採用。鑑於我的用戶名列是自定義的(不是由Parse處理的默認用戶名),這種方法將導致兩個查詢分別檢查用戶名和電子郵件。 –
檢查我剛剛做的編輯。 您可以簡單地將多個whereKey/equalTo添加到查詢中。 – StevenOjo
確實可以,但是您怎麼知道要向用戶展示什麼消息(使用用戶名或發送電子郵件)?我已經使用上面發佈的代碼解決了這個問題,並且有一個返回int和基於值的函數,我知道它是用戶名或者電子郵件。然後我設置消息並顯示給用戶。我真的很感謝你,雖然你正在努力幫助:) –