title: Method not even called
body: <p>I have a class that extends <code>UITableViewController</code> and implements <code>NSFetchedResultsControllerDelegate</code>.</p>
  
  <p>I have defined (.h) a method:</p>
  
  <pre><code>-(void)populateDataWithCompletitionHandler:(void (^)(UIBackgroundFetchResult))completitionHandler usingCustomParser:(void(^)(NSArray* result))parser;
  </code></pre>
  
  <p>and implemented it:</p>
  
  <pre><code>-(void)populateDataWithCompletitionHandler:(void (^)(UIBackgroundFetchResult))completitionHandler usingCustomParser:(void (^)(NSArray *))parser
  {
      __weak FetchedViewController *weakSelf = self;
  
     [self.webserviceCall setSuccessBlock:^(NSArray *result) {
         if (parser == nil) {
            // Parse success
         } else {
             parser(result);
         }
     }];
  
      [self.webserviceCall setFailureBlock:^{
          if (completitionHandler) {
              // Error management
          }
      }];
  
      [self.webserviceCall startAsynchronus];
  }
  </code></pre>
  
  <p>In <code>WebserviceCall</code> class I have (in .h):</p>
  
  <pre><code>@property (copy, nonatomic) void(^successBlock)(NSArray *result);
  @property (copy, nonatomic) void(^failureBlock)(void);
  </code></pre>
  
  <p>I have noticed that sometimes <code>startAsynchronus</code> is called and sometime it is not. I have placed a breakpoint on it and another in the method.</p>
  
  <p>Sometimes the method is called (and my app works) and sometimes after the call <code>startAsynchronus</code> is not called.</p>
  
  <p><strong>startAsynchronus</strong></p>
  
  <pre><code>-(void)startAsynchronus
  {    
      [_sessionManager GET:_method parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {
          self.successBlock(responseObject);
      } failure:^(NSURLSessionDataTask *task, NSError *error) {
          NSLog(@"*** Request error %@, %@", error, [error localizedDescription]);
      }];
  
      //[task resume];
  }
  </code></pre>
  
  <p>**I Think this is the solution **</p>
  
  <p>Looking on my viewWillAppear method i was wrote this:</p>
  
  <pre><code>-(void)viewWillAppear:(BOOL)animated
  {    
      [super viewWillAppear:animated];
  
      if ([[User sharedInstance] isLoggedIn]) {
          BOOL entityIsSync = [[NSUserDefaults standardUserDefaults] boolForKey:_item.entity];
  
          if (!entityIsSync) {
              self.webserviceCall = [[WebserviceCall alloc] initWithMethod:_item.method forEntity:_item.entity];
              [self populateDataWithCompletitionHandler:nil usingCustomParser:nil];
          }
      }
  }
  </code></pre>
  
  <p>This line MUST be outside the if statement:</p>
  
  <pre><code>self.webserviceCall = [[WebserviceCall alloc] initWithMethod:_item.method forEntity:_item.entity];
  </code></pre>
  
  <p>But i have another question: Why if self.webservice call was null, i will not get any error (at runtime).</p>