IOS中关于延迟函数performSelector的使用
来源:互联网 发布:金和网络财报2017 编辑:程序博客网 时间:2024/05/30 04:24
一、首先解释下performSelector方法中每个参数的意义:
- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay;
(1)aSelector:表示你要调用的方法
(2)anArgument:如果你要调用的方法中需要传递参数,那么anArgument就表示你要传递的值;如果你要调用的方法不需要传递参数,那么此处传nil
(3)delay:表示你要延迟的时间
二、使用此函数要注意的问题:
此函数执行时是单线程的,也就意味着你在用用这个函数时。必须等调用这个函数的方法全都执行完了以后才会执行此函数中你要调用的方法
三、具体实例:
- (void)viewDidLoad
{
[superviewDidLoad];
[selfperformSelector:@selector(print:)withObject:@"you can do it!"afterDelay:1];
NSLog(@"Nothing is impossible!");
}
-(void)print:(NSString *)string{
NSLog(@"string is:%@",string);
}
打印结果如下:四、引申:
如果你想要执行此函数的时候是多线程,那么可以用下面的方法:
- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait;
具体示例如下:- (void)viewDidLoad
{
[superviewDidLoad];
[selfperformSelectorOnMainThread:@selector(output:)withObject:@"main thread"waitUntilDone:YES];//YES表示允许多线程,如果想要单线程执行,把YES变为NO 即可
NSLog(@"what happened?");
}
-(void)output:(NSString *)string{
NSLog(@"this string is:%@",string);
}
打印结果如下:
- IOS中关于延迟函数performSelector的使用
- IOS 关于延迟performselector()和取消延迟执行函数
- IOS 关于取消及延迟执行函数 performSelector 与 cancelPreviousPerformRequestsWithTarget
- iOS 关于取消延迟执行函数 performSelector与cancelPreviousPerformRequestsWithTarget
- IOS 关于取消延迟执行函数的种种。performSelector与cancelPreviousPerformRequestsWithTarget
- IOS 关于取消延迟执行函数的种种。performSelector与cancelPreviousPerformRequestsWithTarget
- [置顶] IOS 关于取消延迟执行函数的种种。performSelector与cancelPreviousPerformRequestsWithTarget
- IOS 关于取消延迟执行函数的种种。performSelector与cancelPreviousPerformRequestsWithTarget
- [置顶] IOS 关于取消延迟执行函数的种种。performSelector与cancelPreviousPerformRequestsWithTarget
- IOS 关于取消延迟执行函数的种种。performSelector与cancelPreviousPerformRequestsWithTarget
- IOS 关于取消延迟执行函数的种种。performSelector与cancelPreviousPerformRequestsWithTarget
- 取消将要执行的延迟函数吗?(使用了performSelector)
- 取消将要执行的延迟函数吗?(使用了performSelector)
- 执行延迟IOS关于取消延迟执行函数的种种
- js中延迟函数的使用
- iOS关于取消延迟执行函数的介绍
- 关于performSelector的执行
- IOS开发:关于performSelectorXXX的延迟的使用
- 2014年1月6号,开始写技术博客了
- Android异步处理系列文章索引
- ajax中执行服务器返回的js脚本
- 梳理C/C++ 语言char,int,long,float,double,longlong的字节数
- Changes to Sencha Touch 2.2 Theming Part 1: Using Iconography
- IOS中关于延迟函数performSelector的使用
- sql语法1
- bash 启动脚本
- AWS等入华对国内云计算产业和公有云市场格局的影响
- linux SPI驱动 - 模拟gpio
- Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面
- (9)Java集合框架
- Automatic Objects and Local static Objects
- Android异步处理二:使用AsyncTask异步更新UI界面