J'utilise le code ci-dessous dans objective C
pour travailler avec sémaphore.dispatch_semaphore_t dans swift 3
-(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]];
}
}
Mais
'dispatch_semaphore_t' est disponible dans Swift
Comment intégrer sémaphores rapidement 3?
** Ne pas utiliser ** sémaphores pour un tel appel de méthode asynchrone. Utilisez un gestionnaire d'achèvement. – vadian
@vadian, je veux appeler une méthode asynchrone sous l'écran de démarrage. Quoi de mieux. Comment puis-je l'obtenir en utilisant le gestionnaire d'achèvement. S'il vous plaît guider. – pkc456