标签:ios多线程
NSObject类的performSelectorOnMainThread和performSelectorInBackground可以实现简单的多线程编程技术3.该方法主要用来用主线程来修改页面UI的状态。
sample code:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
_label=[[UILabel alloc] initWithFrame:CGRectMake(40, 40, 60, 40)];
_label.textColor=[UIColor redColor];
_label.text=@"123";
[self.view addSubview:_label];
[self performSelectorInBackground:@selector(backWork) withObject:nil];
}
-(void)backWork
{
NSLog(@"the thread is %@",[NSThread currentThread]);
sleep(2);
[self performSelectorOnMainThread:@selector(mainWork) withObject:nil waitUntilDone:NO];
}
-(void)mainWork
{
NSLog(@"the main thread is %@",[NSThread currentThread]);
_label.text=@"456";
_label.textColor=[UIColor greenColor];
}
执行结果:
2014-08-19 11:03:59.101 testApp[1848:3107] the thread is <NSThread: 0x8c504a0>{name = (null), num = 2}
2014-08-19 11:04:01.103 testApp[1848:60b] the main thread is <NSThread: 0x8c444c0>{name = (null), num = 1}
利用performSelectorInBackground和performSelectorOnMainThread实现多线程,布布扣,bubuko.com
利用performSelectorInBackground和performSelectorOnMainThread实现多线程
标签:ios多线程
原文地址:http://blog.csdn.net/richard_rufeng/article/details/38678881