【发布时间】:2017-09-06 10:08:49
【问题描述】:
我在objective C 中使用以下代码来处理信号量。
-(void)doSome{
semaphore = dispatch_semaphore_create(0);
BaseViewController *baseVC = [[BaseViewController alloc]init];
if(baseVC.isUserObjectExist){
[self callLoginWebService:baseVC.userObject.username passwordString:baseVC.userObject.password];
}else{
dispatch_semaphore_signal(semaphore);
}
while (dispatch_semaphore_wait(semaphore, DISPATCH_TIME_NOW)) { //2
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:100]];
}
}
但是
'dispatch_semaphore_t' 在 Swift 中不可用
swift 3 中如何集成信号量?
【问题讨论】:
-
不要对这种异步方法调用使用信号量。使用完成处理程序。
-
@vadian,我想在闪屏下调用异步方法。有什么更好的方法。如何使用完成处理程序来实现它。请指导。
标签: ios swift3 semaphore dispatch