gpt4 book ai didi

swift - 使用按钮从 uicollectionviewCell 中删除单核心数据项

转载 作者:行者123 更新时间:2023-11-30 10:34:48 26 4
gpt4 key购买 nike

我正在尝试使用 collectionviewcell 内的按钮删除 coreData 集中的单个元素。因此,单元格有一个带有核心数据获取结果的标签。当我点击按钮时,它应该删除该单元格,使其不再出现。核心数据单项也应永久删除。我之前在协议(protocol)中使用过这个场景,但没有使用核心数据。核心数据是 var itemName。

class CustomCell: UICollectionViewCell {
@objc func delete() {
}}
class ViewController: UIViewController {
var itemName : [Item] = []
}

最佳答案

就我而言,100% 工作试试这个

import CoreData 


func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell Identifier name ", for: indexPath) as! Cellname
cell.YourButtonNamw.tag = indexPath.row
cell.YourButtonNamw.addTarget(self, action: #selector(delete), for: .touchUpInside)
return cell
}

@objc func delete(_ sender:UIButton){
let itemName1 = itemName[sender.tag]
let context = APP_DELEGATE.persistentContainer.viewContext
var albums = [YourTableName]()
let request = NSFetchRequest<YourTableName>(entityName: YourTableName)
request.predicate = NSPredicate(format: "itemName = %@" , itemName1)
do
{
albums = try context.fetch(request)

for entity in albums {
context.delete(entity)
do
{
try context.save()

}
catch let error as Error?
{
print(error!.localizedDescription)

}
}

}
catch _ {
print("Could not delete")

}

}

关于swift - 使用按钮从 uicollectionviewCell 中删除单核心数据项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58293724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com