如果在上下文中出现以下错误,请使用Xcode 7和swift 2.0?.save(nil)。
感谢任何帮助
"不能在类型' NSManagedObjectContext'
的非可选值上使用可选链接func newItem() {
let context = self.context
let ent = NSEntityDescription.entityForName("CallList", inManagedObjectContext: context)
let nItem = CallList(entity: ent!, insertIntoManagedObjectContext: context)
nItem.firstname = firstName.text
nItem.lastname = lastName.text
nItem.phonenumber = phoneNumber.text
context?.save(nil)
答案 0 :(得分:5)
您收到该错误,因为context
变量不是可选的,因此?
无用。
同样,swift 2引入了do-catch
构造以允许高级错误处理,就像使用try-catch
的其他语言一样,因此具有错误参数的函数,例如save()
{{1}已更改并丢失了错误参数并将错误报告为异常;你应该这样做
NSManagedObjectContext
如果您不想处理错误,可以
do {
try context.save()
} catch let error {
// Handle error stored in *error* here
}