- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正试图等到我的休息服务回电收到,但是之后
dispatch_semaphore_wait(sem, DISPATCH_TIME_FOREVER);
__block NSString *strTaggedText=@"";
dispatch_semaphore_t sem;
sem = dispatch_semaphore_create(0);
[[manager2 dataTaskWithRequest:req completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {
if (!error) {
NSLog(@"Reply JSON: %@", responseObject);
dictionary=[responseObject objectForKey:@"****"];
strTaggedText=[dictionary objectForKey:@"Text"];
NSLog(@"strText = %@",strTaggedText);
} else
{
NSLog(@"Error: %@, %@, %@", error, response, responseObject);
}
dispatch_semaphore_signal(sem);
}] resume];
dispatch_semaphore_wait(sem, DISPATCH_TIME_FOREVER);
return strTaggedText;
最佳答案
您已经停止了主运行循环,这意味着将不处理任何事件,并且该应用将停止响应。
您正在调用异步方法,并且在显示了繁忙指示符之后,主线程应立即返回。
处理应从该块内继续进行,该块将在后台线程中调用。然后,您可以将数据推送到预期的任何位置并取消忙碌指示器。然后可以在主线程上触发下一个事件,但这取决于您;当然,任何UI交互都必须仅在主线程上完成。
我认为这是asynchronous programming,但是完整的讨论超出了stackoverflow答案的范围。
关于ios - 在执行dispatch_semaphore_wait(sem,DISPATCH_TIME_FOREVER)之后,再也不会收到回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40378807/
-(void)init{ self.sema = dispatch_semaphore_create(1) } -(void)main{ //sending one me
我开发了以下方法,用于检查应用程序与服务器通信的能力。该方法执行一个简单的查询,并且知道如果得到结果,应用程序应该已连接(基本的 ping 机制)。 - (BOOL)isAppConnected {
我想构建一个 NSOperation,它在开始后有 10 秒的超时时间,并且可以在事件的任何时候由另一个线程结束。我还使用 NSOperationQueue 来管理更多这样的操作,它一次只能计算一个(
我正在使用开源软件 TMCache .它将昂贵的数据保存到异步缓存中。还有一种同步方法。 它使用dispatch_semaphore_wait()等待操作结束。 Source - (id)object
documentation for dispatch_semaphore_wait说它“以 FIFO 顺序等待信号”。但在这个例子中似乎没有——有人可以解释一下吗? 示例: #include #in
我正在使用dispatch_semaphore_wait来停止我当前的线程,但看起来它停止了我的所有线程。 代码: SampleReader *reader = [[SampleReader allo
dispatch_semaphore_wait(writeSemaphore!, DISPATCH_TIME_FOREVER) 给出 DISPATCH_TIME_FOREVER 的错误,即 Canno
我是一名优秀的程序员,十分优秀!