[英]Swift Parse - Method doesn't stop executing
我有以下代碼,基本上可以查詢Parse類並返回結果集。 返回結果后,我將該數組傳遞給函數以檢查是否設置了某些元素。
我在整個代碼中使用了print語句進行嘗試和調試,發現該查詢在
if error == nil
我正在結果數組為空。 因此,當我將其傳遞給下面的函數時,它永遠不會消失:
func emailOrUsernameIsTaken(results: [PFObject])->Int
{
/*Check if username is taken or if email is taken*/
var preferenceTaken: Int = 0
if(results[0]["email"] as! String != "" && results[0]["email"] as! String == self.userObject.email!)
{
preferenceTaken = 1
}else if(results[0]["appUsername"] as! String != "" && results[0]["appUsername"] as! String == self.userObject.username!){
preferenceTaken = 2
}
return preferenceTaken
}
這是執行查詢的代碼:
let query = PFQuery.orQueryWithSubqueries([usernameInputCheck, emailInputCheck])
query.findObjectsInBackgroundWithBlock {
(results: [PFObject]?, error: NSError?) -> Void in
if error == nil {
print("Before")
let checkResult = self.emailOrUsernameIsTaken(results!)
print(results)
print("After")
}
}
作為上述打印語句的輸出,我進入控制台:
Before
Optional([])
After
有人可以幫我找出問題所在嗎? 我很驚訝為什么這不起作用。
如果results
為空,則results[0]["email"] as! String
results[0]["email"] as! String
應該崩潰,因為您強制拆開nil
可選值。 因此,您講的故事並不一致。
如果實際問題是空的結果-您將必須提供有關查詢的詳細信息以及為什么期望填充結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.