2016-04-22 24 views
0

大家都知道的indexPathsForSelectedRows - 但来到这里,我需要知道,没有选择的TableView扩展indexPathsFor`Un` SelectedRows

我想利用它的扩展行的时间。

有没有机会有人已经做到了,或有一个想法如何做到这一点?

+0

你能提供更多关于你想要做什么的信息吗?我可能会加载选定的行在一个NSIndexSet,然后使用'包含'您的行来确定它是否被选中或不是 – Paulw11

回答

1

如果只有一个表中的部分查看你可以从indexPathsForSelectedRows简单

  • 地图所有的行索引的Int阵列。

    let rowIndexes = indexPathsForSelectedRows.map { $0.row } 
    
  • dataSourceArray

    let allIndexes = 0..<dataSourceArray.count 
    
  • 过滤器创建一个从索引的Int阵列不在allIndexes索引和创建新的索引路径

    let indexPathsForDeselectedRows = allIndexes.filter {!rowIndexes.contains($0) }.map {NSIndexPath(forRow: $0, inSection: 0)} 
    

如果有多个部分是一个有点复杂。

+0

这对我的情况有效,我也是这样,但我想做一个更通用的功能/ UITableView本身的扩展 –