-(void)method1
        {
          [self method2];     
          [self method3]; //After finishing execution of method2 and its delegates I want to execute method3
        }
Here method2 got running when it called but before execution of its delegate methods the method3 got started to execute. How to avoid that? Any suggestion or code please
I called a nsurl connection with its delegates in method 2
 -(void)method2
    {
    ....
       connection= [[NSURLConnection alloc] initWithRequest:req delegate:self ];
    ....
    }
    -(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
        }
 -(void) connection:(NSURLConnection *) connection didReceiveData:(NSData *) data
        {
        }
..
..
				
                        
Use blocks - it would be easier to handle: