2015-04-21 9 views
0

Я пытаюсь удалить одну запись из базы данных.Swift - удалить одну запись из базы данных

if let items=fetchedResult{ 
      print(items.count) //this always prints "1", so it's working well 
      for item:NSManagedObject in items{ 
       println(item) //this prints the only element found. Also working well 
       println(sender.view!.restorationIdentifier!) //the restorationIdentifier matches with the id from the object in the database. Also working well 
       managagedContext.deleteObject(item) //<-- THIS is what is not working 
       sender.view?.removeFromSuperview() //removing the view well 
      } 
     }else{ 
      print("Could not delete \(error), \(error!.userInfo)") 
     } 

Как сказано в комментариях, линия managagedContext.deleteObject(item) не работает, я не получаю ошибку, она просто не удаляет объект в базе данных.

Я искал 2 дня и ничего не нашел. Я надеюсь, что вы можете мне помочь.

Спасибо.

+0

Вы сохранили контекст после удаления? – zisoft

ответ

2

Apple's doc для deleteObject

Определяет объект, который должен быть удален из его постоянного хранилища , когда изменения совершаются.

Для того, чтобы сделать изменения постоянные, необходимо позвонить в: context.save. save documentation says that:

Если контекст родительского магазин является координатором постоянного хранилища, то изменения фиксируются на внешний накопитель

Также: this SO answer показывает деталь вызова сохранить :, и управления NSError

Смежные вопросы