关于performSelectorXXX的延迟的使用
来源:互联网 发布:wingide5 linux 破解 编辑:程序博客网 时间:2024/05/29 03:39
- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay;这个方法是单线程的,也就是说只有当前调用次方法的函数执行完毕后,selector方法才会被调用。比如:- (void)changeText:(NSString *)string{ label.text = string; NSLog(@"changeText:(NSString *)string");}- (void)changePopoverSize{ [self performSelector:@selector(changeText:) withObject:@"Happy aha" afterDelay:1]; NSLog(@"changePopoverSize#####end"); sleep(5); NSLog(@"changePopoverSize-----end"); }执行结果(注意时间):2012-08-17 17:14:06.697 awrbv[1973:f803] changePopoverSize#####end2012-08-17 17:14:11.698 awrbv[1973:f803] changePopoverSize-----end2012-08-17 17:14:11.701 awrbv[1973:f803] changeText:(NSString *)string如果要想多线程的话,可以是使用- (void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg或者- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait;代码如下:- (void)changeText:(NSString *)string{ label.text = string; NSLog(@"changeText:(NSString *)string");}- (void)changePopoverSize{ [self performSelectorOnMainThread:@selector(changeText:) withObject:@"Happy aha111" waitUntilDone:YES]; NSLog(@"changePopoverSize#####end"); sleep(5); NSLog(@"changePopoverSize-----end");}执行结果如下:2012-08-17 17:19:29.618 awrbv[2024:f803] changeText:(NSString *)string2012-08-17 17:19:29.619 awrbv[2024:f803] changePopoverSize#####end2012-08-17 17:19:34.620 awrbv[2024:f803] changePopoverSize-----end可以看出,如果waitUntilDone:YES那么等changeText执行完毕后再往下执行如果waitUntilDone:NO的话,结果如下:2012-08-17 17:21:12.135 awrbv[2049:f803] changePopoverSize#####end2012-08-17 17:21:17.137 awrbv[2049:f803] changePopoverSize-----end2012-08-17 17:21:17.139 awrbv[2049:f803] changeText:(NSString *)string
0 0
- 关于performSelectorXXX的延迟的使用
- 关于performSelectorXXX的延迟的使用
- IOS开发:关于performSelectorXXX的延迟的使用
- IOS开发:关于performSelectorXXX的延迟的使用
- IOS开发:关于performSelectorXXX的延迟的使用
- IOS开发:关于performSelectorXXX的延迟的使用
- IOS开发:关于performSelectorXXX的延迟的使用
- IOS开发:关于performSelectorXXX的延迟的使用
- IOS开发:关于performSelectorXXX的延迟的使用
- IOS开发:关于performSelectorXXX的延迟的使用
- IOS开发:关于performSelectorXXX的延迟的使用
- IOS开发:关于performSelectorXXX的延迟的使用
- [IOS 开发] performSelectorXXX的延迟的使用
- 关于VS的延迟加载dll的使用和理解
- 关于VS的延迟加载dll的使用和理解
- jq延迟的使用
- 关于使用JSON对hibernate数据延迟加载的问题
- IOS中关于延迟函数performSelector的使用
- mahout+Eclipse,使用 Taste 构建推荐引擎实例 – 电影推荐引擎
- Hessian入门(与Spring集成)
- Redis Client for .net组件
- MFC程序中获得控制台的输入
- 使用xslt动态生成javabean的代码
- 关于performSelectorXXX的延迟的使用
- C#编程中的66个好习惯,你有多少个?
- 手游登陆流程笔记
- 巧用TexturePacker命令行,与ant集成
- apache mina串口程序
- mysql修改表、字段、库的字符集的SQL语句
- java FTPClient下载多个文件
- Android基础概念Context的作用
- R6034错误,C Runtime Error