title: Is if (variable) the same as if (variable != nil) in Objective-C
body: <p>I am getting a EXC_BAD_ACCESS (SIGBUS) on this line in my iPhone project:</p>
  
  <pre><code>if (timeoutTimer) [timeoutTimer invalidate];
  </code></pre>
  
  <p>The thing that has me stumped is that I don't understand how that line could crash, since the if statement is meant to be checking for nil. Am I misunderstanding the way Objective-C works, or do line numbers in crash statements sometime have the wrong line in them?</p>