【发布时间】:2019-04-28 19:43:25
【问题描述】:
当我从 CollectionView 应用程序中删除单元格时崩溃 (CoreData)。
我在 CollectionView 中使用自定义按钮。
var cardItems = [NSManagedObject]()
cell.MenuButton.layer.setValue(indexPath.row, forKey: "index")
cell.MenuButton.addTarget(self, action: #selector(MenuCell), for: UIControl.Event.touchUpInside)
错误
编辑(它的工作)
let i: Int = (sender.layer.value(forKey: "index")) as! Int
guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else { return }
let managedContext = appDelegate.persistentContainer.viewContext
let indexPath = IndexPath(item: i, section: 0)
let itemToDelete = self.cardItems[indexPath.item]
self.cardItems.remove(at: indexPath.item)
managedContext.delete(itemToDelete)
appDelegate.saveContext()
self.collectionView.reloadData()
【问题讨论】:
-
只需为您的按钮添加标签
cell.MenuButton.tag = indexPath.row,然后在您的操作中传递您的按钮并读取let item = cardItems[sender.tag]
标签: core-data uicollectionview swift4 ios12 swift4.2