Deux partie de la question
Première partie: Je suis en train de créer une requête Asynchrone à ma base de données. Je suis actuellement en train de le faire de manière Synchrone cependant je veux apprendre à la fois des façons d'améliorer ma compréhension de ce qui se passe.
Actuellement, j'ai mis en place mon appel Synchrone de ce genre.
- (IBAction)setRequestString:(NSString *)string
{
//Set database address
NSMutableString *databaseURL = [[NSMutableString alloc] initWithString:@"http://127.0.0.1:8778/instacodeData/"]; // imac development
//PHP file name is being set from the parent view
[databaseURL appendString:string];
//call ASIHTTP delegates (Used to connect to database)
NSURL *url = [NSURL URLWithString:databaseURL];
//SynchronousRequest to grab the data
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSError *error;
NSURLResponse *response;
NSData *result = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
if (!result) {
//Display error message here
NSLog(@"Error");
} else {
//TODO: set up stuff that needs to work on the data here.
NSString* newStr = [[NSString alloc] initWithData:result encoding:NSUTF8StringEncoding];
NSLog(@"%@", newStr);
}
}
Je pense que ce dont j'ai besoin pour faire est de remplacer l'appel
NSData *result = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
avec la version Asynchrone
sendAsynchronousRequest:queue:completionHandler:
cependant, je ne suis pas sûr de ce qu'à passer à la file d'attente ou completionHandler... des exemples/solutions serait grandement apprécié.
Partie deux: J'ai lu à propos de multi-tâches et je tiens à soutenir en faisant en sorte que mes demandes de connexion complète si il y a une interruption. J'ai suivi cet exemple
Il explique comment gagner plus de temps, si une interruption se produit, je comprends ce que sa fait.. mais pas comment l'appliquer à cet égard? si vous avez des exemples ou des tutoriels pour m'aider à comprendre comment l'appliquer, ce serait génial!