title: Understanding bitwise evaluation of a bitmask in Objective-C
body: <p>I'm trying to really wrap my head around this line of code:</p>
  
  <pre><code>[cardButton setTitle:card.contents
              forState:UIControlStateSelected|UIControlStateDisabled];
  </code></pre>
  
  <p>What's tripping me up is the bitwise |. How is it different from a normal || or OR?</p>
  
  <p>Why use bitwise | vs. a logical ||?</p>
  
  <p>(For reference, forState:UIControlStateSelected = 1 &lt;&lt; 1; UIControlStateDisabled 1 &lt;&lt; 2)</p>