NSTimer 的构造方法
/*
NSTimeInterval 每隔多少时间
target: 调用一次X的
selector: XX方法
userInfo: 发送XX消息
repeats: 是否重复
*/
+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(nullable id)userInfo repeats:(BOOL)yesOrNo;
举例 (1)
@property (strong, nonatomic) NSTimer * timerImgScroll;//计时器
self.timerImgScroll = [NSTimer scheduledTimerWithTimeInterval: 2.0
target:self
selector: @selector(autoImgScoll)
userInfo:nil
repeats:YES];
每隔2秒,
调用self的autoImgScoll方法一次,
(self调用self的autoImgScoll方法一次)
不发送消息,
重复调用
举例(2) - block方式
@property (strong, nonatomic) NSTimer * timerImgScroll;//计时器
self.timerImgScroll = [NSTimer scheduledTimerWithTimeInterval:2.0 repeats:YES block:^(NSTimer * _Nonnull timer) {
// 需要调用的代码
}];
NSTimer的销毁
- (void)invalidate;
@property (strong, nonatomic) NSTimer * timerImgScroll;//计时器
//销毁
//使用完后,需要销毁
//不销毁会有强引用,可能产生内存泄漏
[self.timerImgScroll invalidate];
网友评论