在 NSTimers 中编写代码而不是选择器?
有没有办法编写代码而不是将选择器设置为在 NSTimer 中调用的方法? 如果我想在 5 秒后打印 hello world 我可以这样做。
[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(helloWorld:) userInfo:nil repeats:NO];
并具有此功能
-(void)helloWorld:(NSTimer*)aTimer {
NSLog(@"Hello World!");
}
但是,不必为每个计时器编写函数,是否可以在我创建计时器的同一行中添加 NSLog(@"Hello World!") ?
Is there anyway to write code instead of setting a selector to method to call in NSTimer?
If i want to print hello world after 5 sec i can do it like this.
[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(helloWorld:) userInfo:nil repeats:NO];
and have this function
-(void)helloWorld:(NSTimer*)aTimer {
NSLog(@"Hello World!");
}
But instead of writeing functions for every timer you have is it possible to add NSLog(@"Hello World!") in the same line as where i create the timer?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我使用此代码 - NSTimer 类别:
https://gist.github.com/250662/d4f99aa9bde841107622c5a239e0fc6fa37cb179
I use this code– an NSTimer category:
https://gist.github.com/250662/d4f99aa9bde841107622c5a239e0fc6fa37cb179
有些方法允许您将代码块作为参数传递。不幸的是,
NSTimer
不支持此功能。Some methods allow you to pass a code block as a parameter. Unfortunately this isn't supported for
NSTimer
.