01 | @implementation NSObject (PerformBlockAfterDelay) |
02 |
03 | - ( void )performBlock:( void (^)( void ))block |
04 | afterDelay:(NSTimeInterval)delay |
05 | { |
06 | block = [[block copy] autorelease]; |
07 | [self performSelector:@selector(fireBlockAfterDelay:) |
08 | withObject:block |
09 | afterDelay:delay]; |
10 | } |
11 |
12 | - ( void )fireBlockAfterDelay:( void (^)( void ))block { |
13 | block(); |
14 | } |
15 |
16 | @end |
1 | void RunBlockAfterDelay(NSTimeInterval delay, void (^block)( void )) |
2 | { |
3 | dispatch_after(dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC*delay), |
4 | dispatch_get_current_queue(), block); |
5 | } |
1 | [UIView animateWithDuration:0.0 delay:5.0 options:UIViewAnimationOptionAllowUserInteraction animations:^{ |
2 | } completion:^(BOOL finished) { |
3 | //do stuff here |
4 | }]; |
1 | [[NSOperationQueue mainQueue] addOperationWithBlock:aBlock]; |
新闻热点
疑难解答