CollectionViewで複数のセルを選択するデザインを作っているんですが
didSelectItemAtのdelegateの中でセルにボーダーを付けて
didDeselectItemAtのdelegateの中でセルからボーダーを消す
という実装方法で正常に動いています

それとは別に全選択と全解除のボタンを用意したのですが、
@全選択を押した時にdidSelectItemAtを呼び出す
A全てのセルにボーダーがつく
ここまでは意図した動きになっているのですが
B特定のセル(ボーダー付きのセル)をクリックする
CなぜかdidSelectItemAtが発行されてしまう

Cのタイミングではボーダーを取り除いて選択解除したいのですが
なぜかdidSelectItemAtの方が発火されてしまいます
もう一回同じセルをタップすると今度はDeselectの方が呼ばれるので
選択解除になります。

自分でボーダーを付けているので選択している風に見えているのですが
実際にはプログラム内部的にはそのセルは選択されていないと見なされて
いるんじゃないかなと予想しているのですが
何をすれば選択状態と見なされるのかが分からず、、、

お詳しい方おしえていただけると助かります