@korolevsky_s
iOS Developer

Не работает метод удаления ячейки. Где ошибка?

Добрый день! Пытаюсь настроить кнопку удаления данных из ячейки. Не работает...

//добавляю действие удаления для ячейки
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
        
        if editingStyle == .Delete {
            let itemToDelete = items.count![indexPath.row] as! UITableView
            NSManagedObjectContext.deleteObject(itemToDelete)
            
            do {
                try NSManagedObjectContext.save()
                tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Automatic)
                
            }   catch let error as NSError {
                print("Error \(error.localizedDescription)")
            }
            
        }
        
}
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
@korolevsky_s Автор вопроса
iOS Developer
Может кому-то будет интересно. Решил вопрос через свичь конструкцию.

func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
        
        switch editingStyle {
        case .Delete:
   
            let appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
            let context:NSManagedObjectContext = appDel.managedObjectContext
            context.deleteObject(items[indexPath.row] as NSManagedObject)
            items.removeAtIndex(indexPath.row)
            do{
                try context.save()
            }catch{
                print("Error, data not saved!")
            }

            self.tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
        default:
            return
            
        }
    }
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Karetski
Вообще по этому поводу лучше почитай про NSFetchedResultsController.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы