2017-12-03 300 views
1

我正在使用coreData,并简单地将tableView单元格内容的文本和单元格的颜色发送到模态视图控制器。在modalVC中,我可以改变文本,当我按下完成时,tableView被更新。 现在我想添加一个功能,其中如果文本被完全删除,并且用户按下完成,那么应该删除coreData中的数据,所以应该删除tableView行。如何从模态VC中删除VC 1中的tableView行?

这是我为了实现这一目标正在做的:

@IBAction func doneButton(_ sender: Any) { 
if edittasktextview.text.isEmpty == true 
{ 
moContext.delete(editnotes[num] as NSManagedObject) 
     editnotes.remove(at: num) 
} 
else 
{ 
editnotes[num].sNote = edittasktextview.text 
} 
} 

NUM是我从第一个VC发送到模态VC(一种跟踪哪些细胞被窃听的)的indexPath

现在,当我关闭模态视图控制器时,会向第一个VC发送一个通知,以触发一个基本上在firstVC中重新载入tableView的func。但是,虽然行不再在tableview中看到,但我仍然不得不回到我的rootVC,然后返回到第一个VC来完全更新tableView。

帮助将不胜感激!

+0

你是否在firstVC中使用了'NSFetchedResultsController'? –

+0

不!我应该如何使用它? –

+0

@意义事项我正在使用NSFetchRequest来获取coreData的东西,并在tableview中显示它 –

回答

0

使用NSFetchedResultsController可让您的表视图由CoreData更改触​​发。

Here's a tutorial让你开始。还有很多很好的教程和YT视频很容易找到。

+0

基本上NSFetchedResultsController充当数组的替代? –