从Swift数组中的选定复选标记中删除字符串

Posted

技术标签:

【中文标题】从Swift数组中的选定复选标记中删除字符串【英文标题】:Deleting string from selected checkmark in array at Swift 【发布时间】:2018-05-01 12:42:30 【问题描述】:

我想通过复选标记从未选择的行中删除数据。现在我可以将字符串附加到已检查的数组中。但我想从数组中删除哪些未经检查的数据。如何从我的阵列中删除未经检查的数据?

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) 


    if(tableView == self.tableView_1) 

        if(tableView_1.cellForRow(at: indexPath)?.accessoryType == UITableViewCellAccessoryType.none) 
            tableView_1.cellForRow(at: indexPath)?.accessoryType = UITableViewCellAccessoryType.checkmark

            checkedItemsForGender.append(cinsiyet[indexPath.row])

        
        else
            tableView_1.cellForRow(at: indexPath)?.accessoryType = UITableViewCellAccessoryType.none

            checkedItemsForGender.remove(at: cinsiyet[indexPath.row]) // ??? ERROR 
        

    

【问题讨论】:

你有两个账号this和this吗?无论如何,您还没有从另一个帐户对question 进行更正。 :) 【参考方案1】:

你应该使用这个:

if let index = checkedItemForGender.index(of: cinsiyet[indexPath.row]) 
checkedItemsForGender.remove(at: index)

【讨论】:

【参考方案2】:

如下更新您的else 以修复errorindex out of bound exception 的可能性

if let index = checkedItemForGender.index(of: cinsiyet[indexPath.row]),
      index < checkedItemsForGender.count 
     checkedItemsForGender.remove(at: index)

【讨论】:

以上是关于从Swift数组中的选定复选标记中删除字符串的主要内容,如果未能解决你的问题,请参考以下文章

添加/删除 UITableView 选择到数组,复选标记在滚动时消失 - Swift

如何从复选框数组中获取选定的复选框

防止在第一次单击后检查最后一个单元格行,反之亦然&将选定的行添加/删除到数组

保存、保留和检索数组中的选定单元格

如何从表格视图中的选定单元格中获取文本?

如何在swift中保存核心数据中的值