2014-04-20 42 views
0

我使用這裏提供的驗證Check that an email address is valid on iOS並在此代碼,以便回答我打電話的方法,像這樣試圖在iOS中驗證電子郵件,崩潰不知道爲什麼?

-(BOOL) NSStringIsValidEmail:(NSString *)checkString 
{ 
    BOOL stricterFilter = YES; 
    NSString *stricterFilterString = @"[A-Z0-9a-z\\._%+-][email protected]([A-Za-z0-9-]+\\.)+[A-Za-z]{2,4}"; 
    NSString *laxString = @"[email protected]([A-Za-z0-9]+\\.)+[A-Za-z]{2}[A-Za-z]*"; 
    NSString *emailRegex = stricterFilter ? stricterFilterString : laxString; 
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; 
    return [emailTest evaluateWithObject:checkString]; 
} 

然後在我的代碼如下所示:

NSString *emailCheck = self.txtEmail.text; 
    //prints boolean statement 
      NSLog([self NSStringIsValidEmail:emailCheck] ? @"Yes" : @"No"); 
      //validate email 
      if([self NSStringIsValidEmail:emailCheck]) { 
       [self alertStatus:@"Please enter a valid email" :@"Register Failed!" :0]; 
       //enables button on login error 
       [btnRegister setEnabled:YES]; 
       [self callProgressBar:NO]; 
      } 

我增加了NSLog看看我能否得到一個輸出,但現在它只在NSLog上崩潰,並且只有一個淺藍色的lldb錯誤。任何幫助,將不勝感激。

+0

什麼'NSStringIsValidEmail'返回 –

+0

我添加了上面的方法,它返回一個布爾型 – Lion789

+0

它是否在self.txtEmail.text的所有值上失敗? – PCoder123

回答

2

有時,沒有錯誤消息的藍色lldb消息可能表明已設置斷點。您可能要檢查所有斷點已被刪除。