2016-04-22 1 views
0

誰もがindexPathsForSelectedRowsを知っている - しかし、ここで私は、私はそれの延長をしたいと思い テーブルビュー拡張indexPathsFor `Un` SelectedRows

を選択されていない行を知っている必要があり、時間が来ます。

誰かがすでにそれをやっている可能性はありますか、これがどのようにできるか考えていますか?

+0

あなたは何をしようとしているかについてより多くの情報を提供できますか?私はおそらく選択された行をNSIndexSetにロードして、それが選択されているかどうかを判断するためにあなたの行に 'contains'を使用します。 – Paulw11

答えて

1

あなたは、単に

  • indexPathsForSelectedRowsからIntアレイへのすべての行のインデックスをマップすることができ、テーブルビューで唯一つのセクションがある場合。

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

    let allIndexes = 0..<dataSourceArray.count 
    
  • フィルタにおいてallIndexesにないインデックスをインデックスからIntアレイを作成し、作成した新しいインデックスパス

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

場合複数のセクションがありますもう少し複雑です。

+0

これは私の場合にうまくいきました。/UITableView自体の拡張 –