如何从 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(复杂)