2014-09-14 4 views
-2

Следующие не работают. Вот что он говорит мне после аварии приложения:Неожиданно найдено нуль при разворачивании необязательных значений

fatal error: unexpectedly found nil while unwrapping an Optional value 
class TeacherInputViewController: UIViewController { 

    @IBOutlet var textName: UITextField! 
    @IBOutlet var textEmail: UITextField! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 

    @IBAction func btnSave(sender: AnyObject) { 

     let appDel: AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate 
     let context: NSManagedObjectContext = appDel.managedObjectContext! 
     let entity = NSEntityDescription.entityForName("Teachers", inManagedObjectContext: context)   
     let newTeacher = TeacherObject(entity: entity!, insertIntoManagedObjectContext: context) 

     newTeacher.name = textName.text 
     newTeacher.email = textEmail.text 

     context.save(nil) 

     println(newTeacher) 
     self.navigationController?.popToRootViewControllerAnimated(true) 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
    } 
} 

Почему я получаю сообщение об ошибке разворачивании опционального значения?

EDIT: это линия она говорит, что вызывает проблему: пусть newTeacher = TeacherObject (объект: объект !, insertIntoManagedObjectContext: контекст)

+0

Он должен указать, в какой строке он встречает эту ошибку. Это было бы полезной информацией для нас. –

+0

Возможный дубликат [фатальная ошибка: неожиданно найденный nil при развертывании необязательного значения в Swift] (http://stackoverflow.com/questions/24715343/fatal-error-unexpectedly-found-nil-while-unwrapping-an-optional- value-in-swift) – jww

+0

контекст. save = (nil) ??? Ur save nil –

ответ

0

развёрнутый объект должен быть entity!, потому что это единственный развёрнутый объект в вызов функции. Таким образом, ваш вызов для создания переменной entity, скорее всего, возвращает нуль.

  1. Либо вы неправильно имя лица "Teachers" (выглядит подозрительным: почему это множественное число?),
  2. или ваш управляемый контекстный объект является nil, в этом случае вы должны вернуться в приложении делегат и проверить, почему это так.
+0

Спасибо за помощь. Это Учитель, а не Учителя. –

Смежные вопросы