Swift,核心数据,从模态呈现的视图中添加项

时间:2016-12-26 18:27:30

标签: swift core-data

我正在将应用程序更新到Swift中,并且有一个tableView,可以从模态呈现的视图中添加项目。按下“保存”按钮时此功能正常,但按下取消时,表格视图顶部显示一个空白行,表示添加了空白项目。我错过了什么?

AddViewController协议是:

protocol NewGaugeDelegate {

func didFinish(viewController:AddGaugeViewController, didSave:Bool)

}

和didSave函数是:

extension AddGaugeViewController {

@IBAction func cancelButtonWasTapped(_ sender: AnyObject) {
    delegate?.didFinish(viewController: self, didSave: false)
}

@IBAction func saveButtonWasTapped(_ sender: AnyObject) {
    addGauge()
    delegate?.didFinish(viewController: self, didSave: true)
}

}

tableView控制器中的

,协议的访问方式如下:

extension GaugeTableViewController: NewGaugeDelegate {

func didFinish(viewController: AddGaugeViewController, didSave: Bool) {
    guard didSave,
        let context = viewController.context,
        context.hasChanges else {
            dismiss(animated: true)
            return
    }

    context.perform {
        do {
            try context.save()
        } catch let error as NSError {
            fatalError("Error: \(error.localizedDescription)")
        }

        self.coreDataStack.saveContext()
    }

    dismiss(animated: true)
}

}

有关为什么取消功能无法正常工作的建议将不胜感激。

0 个答案:

没有答案