2016-08-24 6 views
1

Я получаю следующее сообщение об ошибке в CrashlyticsEXC_BREAKPOINT 0x00000000e7ffdefe в Crashlytics

LoginViewController.swift линия 277 LoginViewController.textField (UITextField, shouldChangeCharactersInRange: _NSRange, replacementString: String) -> Bool

Там же код в моем проекте:

// MARK: - UITextFieldDelegate 
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { 
    if textField == txtSearch && string != "\n"{ 
     var substring: String = textField.text! 
     substring = (substring as NSString).stringByReplacingCharactersInRange(range, withString: string) 
     self.searchAutocompleteEntriesWithSubstring(substring) 
    } 
    return true; 
} 

Эта ошибка возникает только порой

+0

Что такое линия 277? Какая ошибка? – rmaddy

+0

Ошибка: EXC_BREAKPOINT 0x00000000e7ffdefe, как написано в заголовке – sdadsad

+0

Что такое человеко-читаемая ошибка, и вы все еще не указали, какая строка - строка 277. – rmaddy

ответ

1

Вы являетесь силовым инструментом для развертывания вашего textField.text!, который может быть равен нулю. Попробуйте под кодом:

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { 
    if textField == txtSearch && string != "\n"{ 
     if let text = textField.text { 
      let substring = (text as NSString).stringByReplacingCharactersInRange(range, withString: string) 
      self.searchAutocompleteEntriesWithSubstring(substring) 
     } 
    } 
    return true 
} 
+0

Кажется правильным ... но я не могу воспроизвести ошибку ... если я попытаюсь tap return с пустым полем, это не сбой ... – sdadsad

+0

Если он работает на вас, и это помогло вам исправить вашу проблему, пожалуйста, отметьте его как ответ. – Santosh

+0

Но я не воспроизвел ошибку на своем устройстве, только получил ошибку в ткани. Как я могу ее воспроизвести? – sdadsad