2017-12-03 299 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充當數組的替代? –