关于NSTimer的一个使用小技巧
2014-01-19 19:19
239 查看
最近做的一些小程序中用到了NSTimer,也在网上搜了好多关于NSTimer的用法,可是都连篇累牍,看着很是麻烦。其实啊,这里还是有些小技巧的。请看下面的代码:
我要在面板上显示“输入错误”的信息后,自动变为原来的信息“QQ2013 乐在沟通 ”,就可以这样写了:
@interface AppDelegate : UIResponder <UIApplicationDelegate, UITextFieldDelegate> { NSInteger _count; NSTimer *_aTimer; } @property (retain, nonatomic) UIWindow *window; @end我在AppDelegate这个类里定义了一个_aTimer的成员变量,那么这个成员变量就可以在整个类里使用了。比如,我要实现以下的效果:提示信息在显示一段时间后可以自动显示其他信息(如下)
我要在面板上显示“输入错误”的信息后,自动变为原来的信息“QQ2013 乐在沟通 ”,就可以这样写了:
- (void)timerWork { NSTimer *aTimer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(nenolampRan) userInfo:nil repeats:YES]; _aTimer = aTimer; [_aTimer fire]; } - (void)timerWorkToPrompt { NSTimer *aTimer = [NSTimer scheduledTimerWithTimeInterval:0.6 target:self selector:@selector(promptText) userInfo:nil repeats:YES]; _aTimer = aTimer; [_aTimer fire]; } - (void)showNenolamp { [self.window sendSubviewToBack:[self.window viewWithTag:100]]; [self handleTapGesture]; [self timerWork]; } - (void)returnLogin { [_aTimer invalidate]; [self.window bringSubviewToFront:[self.window viewWithTag:100]]; } - (void)promptText { _count++; if (_count == 2) { [(UILabel *)[[self.window viewWithTag:100] viewWithTag:103] setText:@"QQ2013 乐在沟通"]; _count = 0; [_aTimer invalidate]; } }这样做的好处是,整个类就一个计时器,在使用完计时器时,即可直接停掉计时器,然后再调用,而且调理比较清晰。
相关文章推荐
- 关于如何使用VS高亮显示无扩展名源码文件的一个小技巧
- 开发中关于正则表达式使用的一个小技巧
- 关于如何使用VS高亮显示无扩展名源码文件的一个小技巧
- (转)一个关于VC++6.0与标准C++差异处理的小技巧
- 一个关于三层架构中异常使用的讨论贴
- 使用WinEdt 6 避免跳出注册对话框的一个小技巧
- 关于一个很好用的数据恢复软件的使用方法
- VC使用动态库关于/MD与/MT的一个坑
- 一个关于jqGrid使用的小例子(行按钮)
- 关于使用jwSMTP库发送邮件的一个诡异问题
- VC中一个关于宏的使用问题
- 关于 STM_SETIMAGE 的使用 有一个注意事项
- videoview使用的一个小技巧
- 关于使用eclipse创建一个servlet工程
- 使用mspaint改变图片大小的一个小技巧记录
- 一个关于AVPlayer蛋疼的释放问题(iOS 9.0 AVPlayer的使用与内存的释放问题)
- 关于使用jQuery EASYUI的一些小技巧
- 关于Scroller的使用以及自己实现一个侧滑菜单
- 一个关于容器使用的段子 学习一下
- 关于NSTimer的使用注意事项