2017-12-03 21 views
1

私はcoreDataを使用しており、テキストであるtableViewセルの内容とセルの色をモーダルビューコントローラに送信しています。 modalVCでは、テキストを変更することができ、doneを押すとtableViewが更新されます。 ここで、テキストが完全に削除され、ユーザーが完了した場合、coreDataのデータを削除し、tableView行も削除する必要がある機能を追加します。ここでVC1のtableView行をmodalVCから削除するには?

は、私はこれを達成するためにやっているものです:

@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です

私はモーダルviewcontrollerを却下すると、通知はfirstVCに送信され、本質的にfirstVCのtableViewをリロードするfuncをトリガします。しかし、テーブルビューでは行が見えなくなったが、私はまだ自分のrootVCに戻ってから最初のVCに戻ってtableViewを完全に更新する必要がありました。

お願いします。

+0

firstVCでNSFe​​tchedResultsControllerを使用していますか? –

+0

私はそれをどのように使うべきですか? –

+0

@意味 - 問題NSFetchRequestを使用してcoreDataをフェッチし、それをテーブルビューに表示します –

答えて

0

NSFetchedResultsControllerを使用すると、CoreDataの変更によってテーブルビューがトリガーされます。

Here's a tutorial見つけやすいさまざまな良いチュートリアルやYTビデオがあります。

+0

NSFetchedResultsControllerは基本的に配列の代わりに機能しますか? –

関連する問題