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
{
}
Я использую dataTaskWithRequest
отправить запрос асинхронной HTTP и в блоке завершения, я хочу, чтобы запустить python script
.Как ждать NSTask закончить в блоке асинхронного
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];
python
задача может занять много времени, так что я должен ждать его завершения. Но NSTaskDidTerminateNotification
не будет отправлен, так как NSTask
работает в отдельном потоке. Кто-нибудь знает, как ждать NSTask
, чтобы закончить в этом состоянии?