ios – 在UITableView中只删除一些行[Swift 3.0 – Xcode 8]

ios – 在UITableView中只删除一些行[Swift 3.0 – Xcode 8],第1张

概述我有一个数组fruit = [“Apple”,“Orange”,“Pear”,“Kiwi”],它有Entity FOOD并在UItableView中呈现.有没有办法让一些内容无法取消.例如,我可以让“Kiwi”无法取消. 就像是, 让我= fruit.index(其中:“Kiwi”)  让IArr = [0 … fruit.count]  IArr = IArr.filter {$0!= i} / 我有一个数组fruit = [“Apple”,“Orange”,“Pear”,“Kiwi”],它有Entity FOOD并在UItableVIEw中呈现.有没有办法让一些内容无法取消.例如,我可以让“Kiwi”无法取消.

就像是,
让我= fruit.index(其中:“Kiwi”)
 让IArr = [0 … fruit.count]
 IArr = IArr.filter {$0!= i} //删除Kiwi的索引

func tableVIEw(_ tableVIEw: UItableVIEw,commit editingStyle: UItableVIEwCellEditingStyle,forRowAt indexPath: IArr) {    let appDelegate = UIApplication.shared.delegate as! AppDelegate    let context = appDelegate.persistentContainer.vIEwContext    if editingStyle == .delete{        let FRUIT = fruit[indexPath.row]        context.delete(FRUIT)        appDelegate.saveContext()        do {            fruit = try context.fetch(FOOD.fetchRequest())        }        catch        {            print("dID not fetch")}        }        tableVIEw.reloadData()}

但是,这不起作用,因为indexPath不能采用数组类型.
我怎样才能做到这一点?

解决方法 您可以测试索引路径中的行不是Kiwi:

func tableVIEw(_ tableVIEw: UItableVIEw,forRowAt indexPath: IArr) {    let appDelegate = UIApplication.shared.delegate as! AppDelegate    let context = appDelegate.persistentContainer.vIEwContext {    let FRUIT = fruit[indexPath.row]    if editingStyle == .delete && FRUIT != "Kiwi" {        /* delete */    }}
总结

以上是内存溢出为你收集整理的ios – 在UITableView中只删除一些行[Swift 3.0 – Xcode 8]全部内容,希望文章能够帮你解决ios – 在UITableView中只删除一些行[Swift 3.0 – Xcode 8]所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1067791.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存