ich versuchte zu machen - [NSString stringWithContentsOfURL: Codierung: Fehler:] asynchron, indem sie a-synchron von einem Hintergrund-Thread ausgeführt wird:Making stringWithContentsOfURL asynchron - Ist es sicher?
__block NSString *result;
dispatch_queue_t currentQueue = dispatch_get_current_queue();
void (^doneBlock)(void) = ^{
printf("done! %s",[result UTF8String]);
};
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,
(unsigned long)NULL), ^(void) {
result = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com/"] encoding:NSUTF8StringEncoding error:nil];
dispatch_sync(currentQueue, ^{
doneBlock();
});
});
Seine Arbeit gut, und was am wichtigsten ist, seine asynchron.
Meine Frage ist, ob es sicher ist, oder ob es Threading-Probleme etc. gibt?
Vielen Dank im Voraus :)
Prost! Ich wusste nicht, dass das möglich war: P – JonasG
Zuerst dachte ich, dass dies wegen '[NSOperationQueue mainQueue]' in der Hauptwarteschlange funktioniert, aber dann sah ich 'sendAsynchronousRequest'. Das sollte die Aktualisierung der Benutzeroberfläche nicht stoppen. –