override func viewWillDisappear(animated: Bool) {
// need to add a device?
if profile == nil {
if let name = nameTextField.text, species = speciesTextField.text, dob: NSDate = datePicker.date, entity = NSEntityDescription.entityForName("Profile", inManagedObjectContext: managedObjectContext) where !name.isEmpty && !species.isEmpty {
profile = Profile(entity: entity, insertIntoManagedObjectContext: managedObjectContext)
profile?.name = name
profile?.species = species
profile?.dob = dob
}
}
}
每当我运行我的应用程序时,这部分代码会产生“致命错误:在展开可选值时意外发现nil”#39;我确信name,species和dob确实包含控制台中显示的数据。你知道哪个变量可以包含nil吗?我正在使用核心数据并且不熟悉它。
屏幕:
实体:
答案 0 :(得分:0)
很可能是你的一个文本字段产生了nil值。放入断点并检查它们(和datePicker)是否为零。您使用的是IBOutlets,还是以编程方式创建的?
答案 1 :(得分:0)
在屏幕截图中,它说:
managedObjectContext = (NSManagedObjectContext!)nil
因此,这很可能是导致您崩溃的原因。