国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

IOS 中NSTimer定時器的使用

2020-07-26 02:39:55
字體:
來源:轉載
供稿:網友

IOS 中NSTimer定時器的使用

NSTimery 定時器,主要用于進行定時執行指定方法,常用場景如:獲取驗證碼的按鈕倒計時;圖片輪播定時。

1 使用注意事項:

1.1 倒計時時間間隔(時間單位是秒)
1.2 指定的執行方法
1.3 實現指定執行方法的對象
1.4 是否重復執行
2 對象的內存管理及銷毀
2.1 使用方法" invalidate "進行停止
2.2 將對象設置為" nil "
2.3 特別是在返回到其他視圖控制器的時候,要在方法" - (void)viewWillDisappear:
     (BOOL)animated "中(注意:不能在方法" - (void)dealloc 在設置)將timer停止,并設置為nil

// 有效釋放 - (void)viewWillDisappear:(BOOL)animated {   [super viewWillDisappear:animated];      [timer invalidate];   timer = nil; }  // 無效釋放 - (void)delloc {   [timer invalidate];   timer = nil; } 

3 計時器啟用關閉繼續

3.1 開始:

timer.fireDate = [NSDate distantPast]; 

3.2 停止:

timer.fireDate = [NSDate distantFuture]; 

3.3 繼續:

[timer setFireDate:[NSDate date]]; 

使用示例(倒計時):

三種實例化方法,級對應的停止方法

方法1

// 實例化方法1 初始化后即開始執行 if (self.timer == nil) {     self.time = 10.0;     // 帶參數     NSNumber *number = @(self.time);     self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(countDownTime:) userInfo:number repeats:YES];     // 非必要設置,實際已設置為 NSDefaultRunLoopMode 模式     [[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes]; } 
// 關閉定時器方法1 [self.timer invalidate]; self.timer = nil; 

方法2

// 實例化方法2 初始后化,需要調用" setFireDate "才開始執行 if (self.timer == nil) {     self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(countDownTime:) userInfo:nil repeats:YES];     // 非必要設置,實際已設置為 NSDefaultRunLoopMode 模式     [[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes];     [self.timer setFireDate:[NSDate distantFuture]]; } self.time = 10.0; [self.timer setFireDate:[NSDate distantPast]]; 
// 關閉定時器方法2 [self.timer setFireDate:[NSDate distantFuture]]; 

方法3

// 實例化方法3 初始化后,需要調用" fire "才開始執行 if (self.timer == nil) {     self.timer = [NSTimer timerWithTimeInterval:1.0 target: self selector:@selector(countDownTime:) userInfo:nil repeats:YES];     // 必須設置 NSRunLoop 線程池,否則無效     [[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes]; } self.time = 10.0; [self.timer fire]; 
// 關閉定時器方法3 [self.timer invalidate]; self.timer = nil; 

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站 的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿克苏市| 托里县| 出国| 旬阳县| 平乡县| 丘北县| 阳春市| 邳州市| 如皋市| 从化市| 女性| 泉州市| 谷城县| 新巴尔虎右旗| 义乌市| 上犹县| 宝山区| 房产| 萨嘎县| 苍梧县| 彰武县| 简阳市| 吉木萨尔县| 贵溪市| 呼图壁县| 沾化县| 云南省| 邢台县| 巴林右旗| 鲁山县| 襄樊市| 韶关市| 黄浦区| 乌审旗| 江阴市| 宜章县| 馆陶县| 肥东县| 巧家县| 徐州市| 凤台县|