title: Why is the row property of NSIndexPath a signed integer?
body: <p>Why is the row property of NSIndexPath a signed integer?</p>
  
  <p>Could it ever take on a "valid" negative value?</p>
  
  <p><img src="https://i.stack.imgur.com/sHV9H.png" alt="enter image description here"></p>
  
  <p><strong>edit</strong></p>
  
  <p>I haven't thought about this until today when I set LLVM to check sign comparison. This made the compiler spew out warnings whenever there was <code>indexPath.row &lt;= [someArray count]</code> or similar.</p>