我的写法是
NSDate *timeout = [[NSDate alloc]initWithTimeIntervalSinceNow:30];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
while ([timeout timeIntervalSinceNow] > 0) {
NSLog(@"%f",[timeout timeIntervalSinceNow]);
//do check stuff
sleep(1);
}
});