2015-09-23 45 views
1

爲了讓某人在我的應用程序中登錄或註冊,您必須先輸入電子郵件地址。如果您有一個帳戶並輸入正確的電子郵件地址,它會將您帶到另一個視圖控制器,以便您輸入密碼。如果您輸入的電子郵件地址不在數據庫中,您將需要完成設置過程。如果用戶輸入電子郵件地址[email protected],我需要完成按鈕來檢查並確定它是否在並且基於它將它們帶到適當的視圖控制器。如何檢查我的整個解析數據庫

所以我的問題是,我怎樣才能檢查我的解析數據庫用戶輸入的電子郵件,而不必通過getObjectInBackgroundWithId 功能。這是可能的解析嗎?

enter image description here

+0

解析用戶類會自動檢查唯一的電子郵件地址,如果是在使用中你會得到一個錯誤,我甚至覺得它在描述中。 –

+0

那麼我甚至需要輸入一個對象ID? –

+0

如果您的用戶使用電子郵件地址註冊,而其他人嘗試使用他們將無法註冊,則會返回錯誤,並且其描述會告訴您電子郵件已發送。你不需要做其他事情。 –

回答

1

你可以做這樣的事情......

func checkOrXEmail() { 
    var query = PFQuery(className: "_User") 
    query.whereKey("email", equalTo: self.emailTextField.text.lowercaseString) 
    query.findObjectsInBackgroundWithBlock { (emails, error) -> Void in 
     if let emails = emails { 
      for email in emails { 
       if email["email"] as! String == self.emailTextField.text.lowercaseString { 
       //The email is taken  
       } 


      } 
     } 
    } 

} 

希望這有助於!

另外如果你想檢查郵件的有效性試試這個...

if email.text != "" { 
     if validateEmail(email.text.lowercaseString) { 
      emailTaken = false 
      if self.emailTaken == false { 
       println("Not Taken") 
       checkOrXEmail() 
      } 
     } else { 
     // Do stuff 
    } 
    } else { 
     // Do stuff 
    } 
+0

這很好,但我需要它也檢查電子郵件是否沒有被採取!我試過這個,如果電子郵件[「電子郵件」]! String!= self.emailField.text!.lowercaseString { print(「That email is avaliable!」) }但它沒有做任何事情。無論如何,你最後一次可以幫助我? :) –

+0

@TrentonTyler是啊!我很樂意幫助你。你在哪裏叫這個方法? –

+0

我在if email [「email」]之後嘗試了一個if else語句,但那不起作用,所以我只是創建了一個不同的if語句,它似乎也不起作用!這可能是一個簡單的修復,但我仍然在學習很多新東西! –