J'ai une classe qui met à jour deux fichiers .plist dans le répertoire des documents de l'application via une connexion NSURLConnection. La classe agit comme son propre délégué pour NSURLConnection. Cela fonctionne correctement lorsque je demande un seul fichier, mais échoue lorsque j'essaie de mettre à jour deux fichiers. Est-ce que je devrais commencer un nouveau thread pour chacun des messages getNewDatabase?NSURLConnection de délégation et threading - iPhone
- (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 ...
Le blog que vous liez a été déplacé - Je crois que c'est ça: http://www.sortedbits.com/nsurlconnection-in-its-own-thread –