iOS定時器使用

GCD方法

///定時器
@property (nonatomic,strong) dispatch_source_t timer;

例如:啟動頁倒計時

- (void)createTimerWithTime:(NSString *)time{
    
    //設(shè)置倒計時時間
    //通過檢驗發(fā)現(xiàn)柄驻,方法調(diào)用后求冷,timeout會先自動-1瞬浓,所以如果從15秒開始倒計時timeout應(yīng)該寫16
    //__block 如果修飾指針時渣淤,指針相當(dāng)于弱引用另玖,指針對指向的對象不產(chǎn)生引用計數(shù)的影響

    __block int timeout = [time intValue]+1;
    
    //獲取全局隊列
    dispatch_queue_t global = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    
    //創(chuàng)建一個定時器袁串,并將定時器的任務(wù)交給全局隊列執(zhí)行(并行刨沦,不會造成主線程阻塞)
    dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, global);
    
    self.timer = timer;
    
    //設(shè)置觸發(fā)的間隔時間
    dispatch_source_set_timer(timer, DISPATCH_TIME_NOW, 1.0 * NSEC_PER_SEC, 0 * NSEC_PER_SEC);

    WS(weakSelf);
    
    //設(shè)置定時器的觸發(fā)事件
    dispatch_source_set_event_handler(timer, ^{
        
        //1. 每調(diào)用一次 時間-1s
        timeout --;
        
        if (timeout <= 0) {
            
            //關(guān)閉定時器
            dispatch_source_cancel(timer);
        
            //在主線程中對button進行修改操作
            dispatch_async(dispatch_get_main_queue(), ^{
                
                [weakSelf.timeButton setTitle:@"跳過" forState:UIControlStateNormal];
                
                [weakSelf delayedLoadVC];
            
            });
        }else {
            
            //處于正在倒計時鸠真,在主線程中刷新button上的title悯仙,時間-1秒
            dispatch_async(dispatch_get_main_queue(), ^{
                
                [weakSelf.timeButton setTitle:[NSString stringWithFormat:@"跳過 %d",timeout] forState:UIControlStateNormal];
            });
        }
        
        
    });
    
    dispatch_resume(timer);
}

關(guān)閉定時器

dispatch_source_cancel(self.timer);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市吠卷,隨后出現(xiàn)的幾起案子锡垄,更是在濱河造成了極大的恐慌,老刑警劉巖祭隔,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件货岭,死亡現(xiàn)場離奇詭異,居然都是意外死亡疾渴,警方通過查閱死者的電腦和手機千贯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來程奠,“玉大人丈牢,你說我怎么就攤上這事∶樯常” “怎么了己沛?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵慌核,是天一觀的道長。 經(jīng)常有香客問我申尼,道長垮卓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任师幕,我火速辦了婚禮粟按,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘霹粥。我一直安慰自己灭将,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布后控。 她就那樣靜靜地躺著庙曙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪浩淘。 梳的紋絲不亂的頭發(fā)上捌朴,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天,我揣著相機與錄音张抄,去河邊找鬼砂蔽。 笑死,一個胖子當(dāng)著我的面吹牛署惯,可吹牛的內(nèi)容都是我干的左驾。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼泽台,長吁一口氣:“原來是場噩夢啊……” “哼什荣!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起怀酷,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嗜闻,沒想到半個月后蜕依,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡琉雳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年样眠,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片翠肘。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡檐束,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出束倍,到底是詐尸還是另有隱情被丧,我是刑警寧澤盟戏,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站甥桂,受9級特大地震影響柿究,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜黄选,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一蝇摸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧办陷,春花似錦貌夕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至殃恒,卻和暖如春植旧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背离唐。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工病附, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人亥鬓。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓完沪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親嵌戈。 傳聞我的和親對象是個殘疾皇子覆积,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容

  • 一. NSTimer NSTimer的初始化方法有以下幾種: 會自動啟動, 并加入* MainRunloop*的*...
    codeshow閱讀 509評論 0 0
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,113評論 1 32
  • 一、什么是假敏捷和真敏捷熟呛? 在變幻莫測的互聯(lián)網(wǎng)環(huán)境下宽档,快速的響應(yīng)和發(fā)布是非常必要的,并且能得到ABtest的快速驗...
    北嶺有狐閱讀 641評論 0 1
  • Ctrl+shift+A 自動對齊 cpp 代碼
    星星之火666閱讀 1,621評論 0 0
  • 因為我知道了,心是這世界九府,促人成功的力量之源椎瘟,心是我克服懶惰的動力之源,今天是我生命中最美好的一天侄旬,因為我擁有了強...
    宋華英閱讀 505評論 0 0