title: NSURLConnection delegation and threading - iPhone
body: <p>I have a class that updates two .plist files in the app documents directory via an NSURLConnection.  The class acts as its own delegate for NSURLConnection.  It works properly when I ask for a single file, but fails when I try to update two files.  Does it look like I should start a new thread for each of the getNewDatabase messages?</p>
  
  <pre><code>- (void)getAllNewDatabases {
      [self performSelectorOnMainThread:@selector(getNewDatabase:) withObject:@"file1" waitUntilDone:YES];
      [self performSelectorOnMainThread:@selector(getNewDatabase:) withObject:@"file2" waitUntilDone:YES];
  }
  
  - (BOOL)getNewDatabase:(NSString *)dbName
  {
      NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
      NSMutableString *apiString = [[NSMutableString alloc] initWithString:kAPIHost];
      [apiString appendFormat:@"/%@.plist",dbName];
      NSURLRequest *myRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:apiString] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
      NSURLConnection *myConnection = [[NSURLConnection alloc] initWithRequest:myRequest delegate:self];
      [apiString release];
      if( myConnection )
      {
          //omitted for clarity here
      }
      [pool release];
  }
  //NSURLConnection delegate methods here ...
  </code></pre>