Итак, я пытался удалить элемент из CoreData и последовать другим ответам в Stackoverflow. Вот код, чтобы удалить элемент из DataModel, когда кнопка нажатаОсновные данные, удаляющие один элемент NSManagedObject Swift
moneyManager.moneys.removeAtIndex(indexPath.row)
let appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context = appDel.managedObjectContext
do {
context.deleteObject(moneyManager.moneys[indexPath.row] as! NSManagedObject)
try context.save()
}catch {
print("Error not saved")
}
Там это ошибка, которую я получаю:
Cast от «деньги» к неродственной типа «NSManagedObject» всегда терпит неудачу
Теперь я видел, как другие люди используют массивы AnyObject ?, но я не понимаю, откуда именно этот массив должен появиться и где я должен его объявить.
moneyManager - это класс, который имеет массив денежных средств, который хранит данные каждой транзакции, совершенной пользователем. Я думаю, что я должен удалить данные не отсюда, а от самой сущности, правильно?
Заранее спасибо
Что фактический тип суммы денег? Кстати, в вашем коде есть фатальная ошибка: объект, удаленный из массива moneys, и удаленный из контекста объект, скорее всего, разные. – vadian
Это тип денег, который является структурой и имеет имя как String и moneyAmount как Double – KarolisShp
Объект, удаленный из контекста, должен иметь тип 'NSManagedObject'. Вы используете 'NSFetchedResultsController'? – vadian