私は殆ど、参考になりそうなウェブサイトを頼りに書き写したりして作業をしているのですが、PhysicsBodyでの当たり判定についてはそれだけではロジックの理解に繋がりませんでした。すごく単純な話ではありますが、こちらで質問させてください。


まず、physicsBody.contactTestBitMaskについてなのですが
この値が一体何をしているのかがわかりません。
使い方は
foo, barいずれもphysicsBodyを持った状態で、一度

foo.physicsBody.contactTestBitMask = bar.physicsBody.categoryBitMask

としておくだけで、fooの剛体がbarの持つカテゴリの世界線において何らか(スプライトノードなど)と衝突あるいは重なっている状態であれば
SKPhysicsContactDelegate下の 
didBegin(_ contact: SKPhysicsContact)関数内の処理が呼び出されるという認識で間違い無いのでしょうか。
であれば一体前述した1行のコードで何が行われているのでしょうか、何もトグル(発火)しているようには見えません。ただの代入なのでしょうか。


このような質問をするのは他でもなく、私はこの当たり判定の実装に成功できていないからなのですが、どのような仕組みなのかを理解するだけでも解決につながるかもしれないので、この場をお借りしました。
ご回答のほどよろしくお願いいたします。