如何从 modalVC 中删除 VC 1 中的 tableView 行?

Posted

技术标签:

【中文标题】如何从 modalVC 中删除 VC 1 中的 tableView 行?【英文标题】:How to delete a tableView row in VC 1 from a modalVC? 【发布时间】:2017-12-03 08:56:23 【问题描述】:

我正在使用 coreData,只是将来自 tableView 单元格内容的数据(文本和单元格的颜色)发送到模态视图控制器。在 modalVC 中,我可以更改文本,当我按下完成时,tableView 会更新。 现在我想添加一个功能,如果完全删除文本并且用户按下完成,则应该删除 coreData 中的数据,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(跟踪哪个单元被点击)

现在,当我关闭模态视图控制器时,会向 firstVC 发送一个通知以触发一个函数,该函数实质上是在 firstVC 中重新加载 tableView。然而,虽然在 tableview 中不再看到该行,但我仍然必须返回我的 rootVC,然后返回第一个 VC 才能完全更新 tableView。

我们将不胜感激!

【问题讨论】:

你在 firstVC 中使用NSFetchedResultsController 吗? 不!我应该如何使用它? @meaning-matters 我正在使用 NSFetchRequest 获取 coreData 内容并将其显示在 tableview 中 【参考方案1】:

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

Here's a tutorial 帮助您入门。还有其他各种很好的教程和 YT 视频很容易找到。

【讨论】:

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

以上是关于如何从 modalVC 中删除 VC 1 中的 tableView 行?的主要内容,如果未能解决你的问题,请参考以下文章

无法将单元格从 Modal VC 添加到 UITableView 到 Table VC(复杂)

如何从 Postgres 中的字符串中删除 '\t'、'\n' 或多余的空格?

关闭时如何从模态视图控制器传回数据

关闭时如何从模态视图控制器传回数据

如何从 .t​​pl 文件中动态出现的数字中删除逗号

我的vc 6.0 可以编译,可用链接,点击执行,显示ready,但弹不出黑框