title: can anyone tell flow of execution of blocks in objective c?
body: <p>Hi iam working with Blocks in objective-c. I have just learn syntax, and how to write blocks. But i didn't understand execution flow. I googled it for flow of execution, i can't find.</p>
  
  <p>I used the following code :</p>
  
  <pre><code>@interface NSArray (Extended)
  - (NSArray *)each:(void (^)(id))block;
  @end
  
  @implementation NSArray (Extended)
  - (NSArray *)each:(void (^)(id object))block {
  for(id mObject in self)
      block(mObject);
  return self;
  }
  @end
  
  int main (int argc, const char * argv[]) {
  @autoreleasepool {
  
    NSArray *array = [NSArray arrayWithObjects:@"Number one", @"Number two", nil];
    [array each:^(id object) {
       NSLog(@"obj: %@", object);
    }];
  
  }
  return 0;
  }
  </code></pre>
  
  <p>Can anyone explain what is the flow of execution of blocks in objective-c?</p>