1. 程式人生 > >iOS block非同步實現return返回值的方式

iOS block非同步實現return返回值的方式

+ (NSString *)httpNet
{
    dispatch_semaphore_t signal = dispatch_semaphore_create(1);
    
    __block NSString *objectID;

    // 模擬block非同步
    [UIView animateWithDuration:3 animations:^{
        
        objectID = @"222";
        
        dispatch_semaphore_signal(signal);
    }];
    
    dispatch_semaphore_wait(signal, DISPATCH_TIME_FOREVER);
    return objectID;
}