2017-12-07 17 views
0

イベントとそのデータを保存するアプリを作っています。それ以来、コアデータを追加しようとするまで完璧に動作していました。それに問題があります。 1つは、delete funcを使用してもtablecellは削除されず、その中のデータだけが削除されるということです。空のセルを削除しようとすると、何もしません。以下は私が使用している削除機能のコードです。UITableViewからセルを削除できません。そのセルのデータだけです。

また、何らかの理由で私のアプリは、これらの空白のセルの1つから始まり、削除できません。

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) { 

    if editingStyle == .delete { 
     PersistenceService.context.delete(events[indexPath.row]) 

     do { 
      try PersistenceService.context.save() 
      eventLog.reloadData() 
     } catch let error as NSError { 
      print("Could not save. \(error), \(error.userInfo)") 
     } 
    } 
} 

答えて

1

あなたは、データ・ソース列からコンテキストから項目を削除する必要があり、非常にではなく、アニメーションを利用するには、テーブル全体のビューを再ロードよりもdeleteRowsを使用することをお勧めします

PersistenceService.context.delete(events[indexPath.row]) 
events.remove(at: indexPath.row) 
eventLog.deleteRows(at: [indexPath], with: .fade) 

... save context 
+0

は、これは素晴らしい仕事、ありがとう! –