title: Multiple NSArray enumeration
body: <p>Let's say I have three arrays of same size. I have to do something with all objects. If I would use a standard C array, I would write something like</p>
  
  <pre><code>for (i = 0; i &lt; size; i++) {
      doSomething(array1[i]);   // or [[array1 objectAtIndex:i] doSomething];
      doSomethingElse(array2[i]);   // or [[array2 objectAtIndex:i] doSomethingElse];
      doSomethingReallySpecial(array3[i]);   // or [[array3 objectAtIndex:i] doSomethingReallySpecial];
  }
  </code></pre>
  
  <p>With Objective C we got more ways to cycle through objects in NSArray: fast enumeration, block-based enumeration and using enumerators. Which one should I use and why? What's the difference?</p>
  
  <p><strong>Edit</strong><br>
  Actually this question may be formulated like this: if one needs to use the index of an item of an array, which enumeration should be used?</p>