Ios 上下文?.save(nil)出现错误

Ios 上下文?.save(nil)出现错误,ios,swift2,xcode7,Ios,Swift2,Xcode7,如果在上下文中出现以下错误,请使用Xcode 7和swift 2.0?.save(nil) 谢谢你的帮助 “无法对“NSManagedObjectContext”类型的非可选值使用可选链接” func newItem() { let context = self.context let ent = NSEntityDescription.entityForName("CallList", inManagedObjectContext: context) let nIte

如果在上下文中出现以下错误,请使用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)

由于
上下文
变量不是可选变量,因此
无效,因此会出现该错误

此外,swift 2还引入了
do catch
构造,以允许高级错误处理,就像在其他语言中使用
try catch
时一样,因此函数带有错误参数,如
save()
NSManagedObjectContext的
已更改,并且已丢失错误参数,并将错误报告为异常;因此您应该这样做

do {
    try context.save()
} catch let error {
    // Handle error stored in *error* here
}
如果您不想处理错误,可以这样做

do {
    try context.save()
} catch {}