多线程的使用(1) - performSelectorOnMainThread
来源:互联网 发布:汽车dsp调音数据参考 编辑:程序博客网 时间:2024/05/20 06:54
在做项目中,要提高效率,就必须使用多线程。
多线程,在网上搜索,有很多方法使用。
今天,接触到了performSelectorOnMainThread 方法。
该方法的作用是在其他线程中,执行主线程制定的方法(代码块,一般用于跟新UI)。
参数:
@selector(RefreshCellForLiveId:)就是,要定义我们要执行的方法。
withObject:userinfo
定义了,我们执行RefreshCellForLiveId:方法时,传入的参数对象。类型是id。(我们可以传入任何参数)
waitUntilDone:YES];
指定,当前线程是否要被阻塞,直到主线程将我们制定的代码块(RefreshCellForLiveId:方法)执行完。
注意:
1.当前线程为主线程的时候,waitUntilDone:YES参数无效。
2.该方法,没有返回值
3.该方法主要用来用主线程来修改页面UI的状态。
比如说你已经定义了一个- (void)updateLabel:(NSString *)txt{}的方法.在此方法中更新界面即可.即时看到结果.
多线程,在网上搜索,有很多方法使用。
今天,接触到了performSelectorOnMainThread 方法。
NSAutoreleasePool *pool =[[NSAutoreleasePool alloc] init]; [self performSelectorOnMainThread:@selector(RefreshCellForLiveId:) withObject:userinfo waitUntilDone:YES]; [pool release];
该方法的作用是在其他线程中,执行主线程制定的方法(代码块,一般用于跟新UI)。
参数:
@selector(RefreshCellForLiveId:)就是,要定义我们要执行的方法。
withObject:userinfo
定义了,我们执行RefreshCellForLiveId:方法时,传入的参数对象。类型是id。(我们可以传入任何参数)
waitUntilDone:YES];
指定,当前线程是否要被阻塞,直到主线程将我们制定的代码块(RefreshCellForLiveId:方法)执行完。
注意:
1.当前线程为主线程的时候,waitUntilDone:YES参数无效。
2.该方法,没有返回值
3.该方法主要用来用主线程来修改页面UI的状态。
------------------------------------------------------------------------------------------------------------------------------------------------------
iphone开发中,在主线程之外的线程更新主线程所显示的界面元素,不能直接调用主线程的类的更新界面的方法,否则界面看不到任何结果
.而是需要有个缓冲,叫做
performSelectorOnMainThread
使用方法是,在线程调用到更新界面那个类的时候,在更新界面前,通过如下调用.
[self performSelectorOnMainThread:@selector(updateLabel:) withObject:updateData waitUntilDone:YES];
比如说你已经定义了一个- (void)updateLabel:(NSString *)txt{}的方法.在此方法中更新界面即可.即时看到结果.
- 多线程的使用(1) - performSelectorOnMainThread
- 多线程的使用(1) - performSelectorOnMainThread
- 多线程的使用(1) - performSelectorOnMainThread
- 多线程的使用(1)-performSelectorOnMainThread
- 多线程的使用(1)-performSelectorOnMainThread
- 多线程的使用(1)-performSelectorOnMainThread
- 多线程performSelectorOnMainThread
- IOS线程的使用 performSelectorOnMainThread
- IOS学习 performSelectorOnMainThread 和detachNewThreadSelector的使用
- ios多线程之performSelectorOnMainThread
- performSelectorOnMainThread的用处
- performSelectorOnMainThread
- performSelectorOnMainThread
- performSelectorOnMainThread
- performSelectorOnMainThread
- performSelectorOnMainThread
- performSelectorOnMainThread
- performSelectorOnMainThread
- 【谷歌面试题】有序输出两棵二叉查找树中的元素
- 你的手机最近有没有3G问题?
- java 入门 二(基本数据类型与引用数据类型的区别)
- 从"0"开始
- 漫话中文自动分词和语义识别 - 中文分词算法
- 多线程的使用(1) - performSelectorOnMainThread
- spring3mvc与struts2比较
- 第十一次课后作业 作业一
- 德州扑克游戏算法讲解
- Java增强_反射的总结
- Android界面View及ViewGroup
- Unigui获取连接的客户端列表
- RISC和CISC的关系
- 多线程的使用(2) - NSOperation和NSOperationQueue