title: NSOperation wait for dependency to complete success block
body: <p>I am using AFNetworking in this example but I think it pertains more to NSOperation.  I have two operations, once is dependent on the other finishing.  However op2 really shouldn't run until op1's success block has completely run.  In the case of dependencies in an operation queue, op2 will run as soon as op1 is done, but before op1's success block is done.</p>
  
  <pre><code>AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
  NSURLRequest *request = [manager.requestSerializer requestWithMethod:@"GET" URLString:url parameters: nil error: nil];
  NSOperation *op1 = [http.manager HTTPRequestOperationWithRequest:request success:^(AFHTTPRequestOperation *operation, id userLocations) {
     NSLog(@"Success");
     // do some stuff 
  
     // more stuf
  
     // I am done, ready for the next operation.
  } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
     NSLog(@"Error: %@", error);
  }];
  NSOperation* op2 = // create op, this will depend on op1 finishing
  [op2 addDependency:Op1];  // op2 is dependent on op1 finishing
  
  [manager.operationQueue addOperations:@[op1, op2] waitUntilFinished:NO];
  </code></pre>
  
  <p>This does not quite work for me as op2 is dependent on some things that are set in op1's success block.  Meaning op2 cannot start until op1 is done with its success block.</p>
  
  <p>Is there a way with NSOperations to queue them such that each can wait until the blocks are done running as well?  If not how can I re-design tho accomplish this dependency.</p>