title: iphone app: delegate not responding
body: <p>So I'm very new to this iphone development stuff.... and I'm stuck.</p>
  
  <p>I'm building an app that connects to the twitter api. However when the connectionDidFinishLoading method gets called, it doesn't seem to recognise the delegate.</p>
  
  <p>Here's the source code of the request class:</p>
  
  <pre><code>#import "OnePageRequest.h"
  
  @implementation OnePageRequest
  
  @synthesize username;
  @synthesize password;
  @synthesize receivedData;
  @synthesize delegate;
  @synthesize callback;
  @synthesize errorCallBack;
  @synthesize contactsArray;
  
  -(void)friends_timeline:(id)requestDelegate requestSelector:(SEL)requestSelector{
      //set the delegate and selector
      self.delegate = requestDelegate;
      self.callback = requestSelector;
  
      //Set up the URL of the request to send to twitter!!
      NSURL *url = [NSURL URLWithString:@"http://twitter.com/statuses/friends_timeline.xml"];
  
      [self request:url];
  }
  
  -(void)request:(NSURL *) url{
  
      theRequest = [[NSMutableURLRequest alloc] initWithURL:url];
      theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
  
      if (theConnection){
          //Create the MSMutableData that will hold the received data.
          //receivedData is declared as a method instance elsewhere
          receivedData=[[NSMutableData data] retain];
      }else{
          //errorMessage.text = @"Error connecting to twitter!!";
      }
  }
  
  -(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge{
  
      if ([challenge previousFailureCount] == 0){
          NSLog(@"username: %@ ",[self username]);
          NSLog(@"password: %@ ",[self password]);
          NSURLCredential *newCredential = [NSURLCredential credentialWithUser:[self username]
                                                                      password:[self password]
                                                                   persistence:NSURLCredentialPersistenceNone];
          [[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge];
      } else {
          [[challenge sender] cancelAuthenticationChallenge:challenge];
          NSLog(@"Invalid Username or password!");
      }
  }   
  
  -(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
  
      [receivedData setLength:0];
  
  }
  
  -(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
  
      [receivedData appendData:data];
  
  }
  
  -(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{
  
      [theConnection release];
      [receivedData release];
      [theRequest release];
  
      NSLog(@"Connection failed. Error: %@ %@", [error localizedDescription], [[error userInfo] objectForKey:NSErrorFailingURLStringKey]);
  
      if(errorCallBack){
          [delegate performSelector:errorCallBack withObject:error];
      }
  }
  
  -(void)connectionDidFinishLoading:(NSURLConnection *)connection{
  
      if (delegate &amp;&amp; callback){
          if([delegate respondsToSelector:[self callback]]){
              [delegate performSelector:[self callback] withObject:receivedData];
          }else{
              NSLog(@"No response from delegate!");
          }
      }
      [theConnection release];
      [theRequest release];
      [receivedData release];
  }
  </code></pre>
  
  <p>Here's the .h:</p>
  
  <pre><code>@interface OnePageRequest : NSObject {
  
      NSString *username;
      NSString *password;
      NSMutableData *receivedData;
      NSURLRequest *theRequest;
      NSURLConnection *theConnection;
      id  delegate;
      SEL callback;
      SEL errorCallBack;
      NSMutableArray *contactsArray;
  }
  
  @property (nonatomic,retain) NSString *username;
  @property (nonatomic,retain) NSString *password;
  @property (nonatomic,retain) NSMutableData *receivedData;
  @property (nonatomic,retain) id delegate;
  @property (nonatomic) SEL   callback;
  @property (nonatomic) SEL   errorCallBack;
  @property (nonatomic,retain) NSMutableArray *contactsArray;
  
  -(void)friends_timeline:(id)requestDelegate requestSelector:(SEL)requestSelector;
  -(void)request:(NSURL *) url;
  
  @end
  </code></pre>
  
  <p>In the method: <code>connectionDidFinishLoading</code>, the following never gets executed:</p>
  
  <pre><code>[delegate performSelector:[self callback] withObject:receivedData];
  </code></pre>
  
  <p>Instead I get the message: "No response from delegate"</p>
  
  <p>Anyone see what I'm doing wrong?! or what might be causing the problem?</p>