NSURLConnection delegation und threading - iPhone

Habe ich eine Klasse, die updates der beiden .plist-Dateien in den app-documents-Verzeichnis über eine NSURLConnection. Die Klasse agiert als Ihre eigenen Delegierten für NSURLConnection. Es funktioniert einwandfrei, wenn ich Frage für eine einzelne Datei, aber nicht, wenn ich versuche zu aktualisieren, werden zwei Dateien. Sieht es aus, sollte ich einen neuen thread starten für jeden der getNewDatabase Nachrichten?

- (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 ...

InformationsquelleAutor FluffulousChimp | 2009-08-01

Schreibe einen Kommentar