簡體   English   中英

Swift Parse-方法不會停止執行

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM