NSThread 多线程相关
生活随笔
收集整理的這篇文章主要介紹了
NSThread 多线程相关
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.下面的代碼,有2點需要注意,1>就是 就是thread:所傳得參數,這里傳得的是nsarray 當然也可以傳其他的類型。2>
[self performSelectorOnMainThread:@selector(update) withObject:nil waitUntilDone:YES]; 這個函數的作用是通知主線程進行一下操作,比如這里是更新btn 的title。主要的參數需要注意的是 waitUntilDone ,如果是YES 那就需要等到 update操作完之后才會執行NSLog(@"-------------ddddd-----------");以及以后的代碼,如果設置為NO的話,那不需要等到update完成就會執行。
NSArray * array = [NSArray arrayWithObjects:@"a",@"b",@"c", nil];therad = [[NSThread alloc]initWithTarget:self selector:@selector(thread:) object:array];[therad start];-(void)update {[btn setTitle:@"bbbbb" forState:UIControlStateNormal];for( int i = 0; i < 100; ++ i ){NSLog(@"i:%d",i);} }-(void)thread:(NSArray *)array {for( int i = 0; i < 3; ++ i ){sleep(1);NSLog(@"%@",[array objectAtIndex:i]);}[self performSelectorOnMainThread:@selector(update) withObject:nil waitUntilDone:YES];NSLog(@"-------------ddddd-----------");}
?
轉載于:https://www.cnblogs.com/rollrock/p/4311835.html
總結
以上是生活随笔為你收集整理的NSThread 多线程相关的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腊字开头的成语有哪些?
- 下一篇: vb socket的使用