尝试快速从数组中删除时,不应删除 tableview 单元格中的最后一个单元格

Posted

技术标签:

【中文标题】尝试快速从数组中删除时,不应删除 tableview 单元格中的最后一个单元格【英文标题】:The last cell in a tableview cell should not be deleted when trying to remove from array in swift 【发布时间】:2020-02-12 14:37:02 【问题描述】:

在文本字段中输入数据,当单击添加按钮时,文本字段文本将附加到数组中并显示在表格单元格中。现在最多 5 个数据我可以附加并显示在一个正在工作的单元格中,但是在一个单元格中有一个删除按钮,它可以删除附加的数据。现在我希望在逐个删除单元格中的条目时,不应删除单元格中最后剩余的数据,并且应显示一条吐司消息,说明无法删除强制数据。现在我正在删除给定索引处的数据,但现在所有数据都被删除,因为我不知道要为最后一个单元格不被删除的条件。请帮帮我

我的代码:

var rowIndex = Int()

@objc func deletecontact(sender: uibutton)

   rowIndex = sender.tag
   Self.openDeleteDialogPopup()


IBAction weak var func yesBtnClicked(sender:uibutton)

   MyArr.remove(at: rowIndex)
   Mytableview.reloaddata()

【问题讨论】:

请将您尝试过的代码分享为minimal reproducible example。另请参阅How to Ask。 【参考方案1】:

在从数组中删除项目的函数中,您需要检查它的计数是否大于 1,如果不是,则显示 toast。如果是,则删除该行

@IBAction weak var func yesBtnClicked(sender:UIButton) 
   guard MyArr.count > 1 else  //If we have more than one item, then don't enter the else block
   //showToastHere
    return
   
   MyArr.remove(at: rowIndex)
   MyTableview.reloadData()

【讨论】:

以上是关于尝试快速从数组中删除时,不应删除 tableview 单元格中的最后一个单元格的主要内容,如果未能解决你的问题,请参考以下文章

如何从表格的下拉菜单中删除先前选择的选项?

如何从内存中删除变量?

Swift:像在 Lua 中一样快速从数组中删除元素

Javascript从Array中删除Object的最快方法

从数组javascript中删除项目时重新呈现列表的问题

从下拉列表中取消选择时,Jquery 从数组中删除值