title: When to use NS_INLINE functions in objective C
body: <p>I have realized that many people sometimes use <code>NS_INLINE</code> functions in their code. I am curios how they know when to use it and why they use it. </p>
  
  <p>I have read that <code>INLINE</code> functions have less instructions than <code>objective-C</code> functions. I am a bit lost in this area because I don't know too much about C.</p>
  
  <p>Some example that I've seen are these:</p>
  
  <pre><code>NS_INLINE id NilToEmptyString(id obj)
  {
      return obj ? : @"";
  }
  
  NS_INLINE BOOL isRunningTests(void)
  </code></pre>
  
  <p>I want to use it at some specific places. For example. I need to get all the <code>assets</code> of the Gallery and then check if they have <code>location</code> and <code>date</code>. I would like to do those functions <code>checkLocation</code> and <code>checkDate</code> as <code>inline</code> functions.</p>
  
  <p>Some users have 5000 pictures, with iPhone 4s the time increases until 5 minutes, that is too much. I want to refactor the code and I read that sometimes <code>inline</code> functions is not a bad way.</p>