NSURLSessionDataTask *dataTask = [self.session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error)
{
NSLog(@"Did fail with error %@" , [error localizedDescription]);
fail();
return ;
}
else
{
}
Ich benutze dataTaskWithRequest
async HTTP-Anfrage zu senden und im Abschluss Block, ich will ein python script
laufen.Wie NSTask wartet in Asynchron-Block zu beenden
NSTask * task = [[NSTask alloc] init];
[task setLaunchPath:kPythonPath];
[task setArguments:@[self.scriptFileFullPath,outputFile]];
[task launch];
[task waitUntilExit];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkPythonTaskStatus:) name:NSTaskDidTerminateNotification object:task];
die python
Aufgabe so lange dauern kann ich für seine Vollendung warten soll. Aber die NSTaskDidTerminateNotification
wird nicht gesendet, da die NSTask
in einem separaten Thread ausgeführt wird. Wer weiß, wie man auf NSTask
wartet, um in diesem Zustand zu beenden?