title: Return a value from a block
body: <p>I have been reading up on Objectice-C blocks as I have been running into them more and more lately. I have been able to solve most of my asynchronous block execution problems, however I have found one that I cannot seem to fix. I thought about making an <code>__block BOOL</code> for what to return, but I know that the return statement at the end of the method will be executed before the block is finished running. I also know that I cannot return a value inside the block. </p>
  
  <pre><code>- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
  
      if ([identifier isEqualToString:@"Reminder Segue"]) {
  
          eventStore = [[EKEventStore alloc] init];
  
          [eventStore requestAccessToEntityType:EKEntityTypeReminder completion:^(BOOL granted, NSError *error) {
  
              if (!granted) {
  
                  UIAlertView *remindersNotEnabledAlert;
                  remindersNotEnabledAlert = [[UIAlertView alloc] initWithTitle:@"Reminders Not Enabled" message:@"In order for the watering reminder feature to function, please allow reminders for the app under the Privacy menu in the Settings app." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
  
              //I would like to put a simple return NO statement here, but I know it is impossible
              }
          }];
      }
  
      return YES;
  }
  </code></pre>
  
  <p><strong>How do I create a simple return statement from a block?</strong></p>