dispatch_async 与 NSThread 创建一个任务(更新界面)

来源:互联网 发布:手机像素绘画软件 编辑:程序博客网 时间:2024/06/02 23:21
Java代码  收藏代码
  1. dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{  
  2.       
  3.     // Show the HUD in the main tread  
  4.     dispatch_async(dispatch_get_main_queue(), ^{  
  5.           
  6.         // No need to hod onto (retain)  
  7.         MBProgressHUD *mbp = [MBProgressHUD showHUDAddedTo:self animated:YES];  
  8.         mbp.labelText = @"   解压中,请等待...   ";  
  9.     });  
  10.     //解压代码  
  11.       
  12.     //  
  13.       
  14.     dispatch_async(dispatch_get_main_queue(), ^{  
  15.           
  16.         [MBProgressHUD hideHUDForView:self animated:YES];  
  17.     });  
  18.       
  19. });  




Java代码  收藏代码
  1. - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {  
  2.       
  3.     if (buttonIndex == 0) {  
  4.           
  5.         // No need to hod onto (retain)  
  6.         MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self animated:YES];  
  7.         hud.labelText = kDelTipsLabelForMBProgressHUD;  
  8.         [NSThread detachNewThreadSelector:@selector(delTargetBook) toTarget:self withObject:nil];  
  9.   
  10.     }  
  11. }  
  12.   
  13. -(void)delTargetBook  
  14. {  
  15.     NSAutoreleasePool *pool =[[NSAutoreleasePool alloc] init];  
  16.         //代码部分  
  17.   
  18.         //代码部分  
  19.         //回主线程执行  
  20.     [self performSelectorOnMainThread:@selector(didDelTargetBook) withObject:nil waitUntilDone:NO];  
  21.     [pool release];  
  22. }  
  23.   
  24. -(void)didDelTargetBook  
  25. {  
  26.     [MBProgressHUD hideHUDForView:self animated:YES];  
  27.       
  28.     if ([delegate_ respondsToSelector:@selector(btnOfLibraryBookWasDelete:)]) {  
  29.           
  30.         [delegate_ btnOfLibraryBookWasDelete:self];   
  31. }  
  32. }  





















原创粉丝点击