Multiple Choice

Out of the following three code snippets, only one is optimized. Which snippet is it?

Snippet 1

for (object in objects) {

  if ( [object tag] == kTagObjectOne ) {
    [object foo];
  }
  [object bar];
}

Snippet 2

for (object in objects) {

  if ( [object tag] == kTagObjectOne ) {

    [object foo];
    [object bar];

  } else {

    [object bar];

  }
}

Snippet 3

for (object in objects) {

 if ([object tag] != kTagObjectOne )
   [object bar];

}

object = [objects getChildByTag:kTagObjectOne];

if (object) {

  [object foo];
  [object bar];

}

Read full article here >>