context?.save(nil) 出现错误

context?.save(nil) coming up with error

使用 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)

你得到这个错误是因为你的 context 变量不是可选的,所以 ? 是无用的。

还 swift 2 引入了 do-catch 构造以允许高级错误处理,就像您在其他语言中使用 try-catch 所做的那样,因此函数带有错误参数,例如 [=16] =] of NSManagedObjectContext 更改并丢失错误参数并报告错误为异常;所以你应该这样做

do {
    try context.save()
} catch let error {
    // Handle error stored in *error* here
}

如果您不想处理错误,您可以这样做

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