OC 在执行block后执行return

2017-10-17  本文已影响0人  _牙牙
    dispatch_semaphore_t signal = dispatch_semaphore_create(0);
    
    __block BOOL isVPN = NO;
//将这一块换成你自己的block
    [[CheckVPNConNectClient sharCheckVPNConNectClient]getVPNIPWithCustCode:[UserDefaults user] Success:^(CheckVPNConNectModel *dataObject) {
           isVPN= YES;
         dispatch_semaphore_signal(signal);
    } failed:^(NSError *error) {
        isVPN= NO;
         dispatch_semaphore_signal(signal);
    }];
    
    dispatch_semaphore_wait(signal, DISPATCH_TIME_FOREVER);
    return isVPN;

等待执行

    dispatch_semaphore_t signal = dispatch_semaphore_create(0);
你想先执行的代码块
    dispatch_semaphore_signal(signal);
    dispatch_semaphore_wait(signal, DISPATCH_TIME_FOREVER);
  等待执行的代码块
上一篇 下一篇

猜你喜欢

热点阅读