欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IOS開發(fā)代碼分享之用nstimer實(shí)現(xiàn)倒計(jì)時(shí)功能

 更新時(shí)間:2014年09月18日 09:26:18   投稿:hebedich  
在制作IOS項(xiàng)目中,我們經(jīng)常要用到倒計(jì)時(shí)功能,今天就分享下使用nstimer實(shí)現(xiàn)的倒計(jì)時(shí)功能的代碼,希望對(duì)大家能有所幫助

用nstimer實(shí)現(xiàn)倒計(jì)時(shí)功能,廢話不多說,直接上代碼,詳細(xì)解釋請(qǐng)參照注釋

// 
[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES]; 
 
// 
- (void)timerFireMethod:(NSTimer *)theTimer 
{ 
    BOOL timeStart = YES; 
    NSCalendar *cal = [NSCalendar currentCalendar];//定義一個(gè)NSCalendar對(duì)象 
    NSDateComponents *endTime = [[NSDateComponents alloc] init];    //初始化目標(biāo)時(shí)間... 
    NSDate *today = [NSDate date];    //得到當(dāng)前時(shí)間 
     
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
    NSDate *dateString = [dateFormatter dateFromString:todate]; 
    NSString *overdate = [dateFormatter stringFromDate:dateString]; 
//    NSLog(@"overdate=%@",overdate); 
    static int year; 
    static int month; 
    static int day; 
    static int hour; 
    static int minute; 
    static int second; 
    if(timeStart) {//從NSDate中取出年月日,時(shí)分秒,但是只能取一次 
        year = [[overdate substringWithRange:NSMakeRange(0, 4)] intValue]; 
        month = [[overdate substringWithRange:NSMakeRange(5, 2)] intValue]; 
        day = [[overdate substringWithRange:NSMakeRange(8, 2)] intValue]; 
        hour = [[overdate substringWithRange:NSMakeRange(11, 2)] intValue]; 
        minute = [[overdate substringWithRange:NSMakeRange(14, 2)] intValue]; 
        second = [[overdate substringWithRange:NSMakeRange(17, 2)] intValue]; 
        timeStart= NO; 
    } 
     
    [endTime setYear:year]; 
    [endTime setMonth:month]; 
    [endTime setDay:day]; 
    [endTime setHour:hour]; 
    [endTime setMinute:minute]; 
    [endTime setSecond:second]; 
    NSDate *overTime = [cal dateFromComponents:endTime]; //把目標(biāo)時(shí)間裝載入date 
    //用來得到具體的時(shí)差,是為了統(tǒng)一成北京時(shí)間 
    unsigned int unitFlags = NSYearCalendarUnit| NSMonthCalendarUnit| NSDayCalendarUnit| NSHourCalendarUnit| NSMinuteCalendarUnit| NSSecondCalendarUnit; 
    NSDateComponents *d = [cal components:unitFlags fromDate:today toDate:overTime options:0]; 
    NSString *t = [NSString stringWithFormat:@"%d", [d day]]; 
    NSString *h = [NSString stringWithFormat:@"%d", [d hour]]; 
    NSString *fen = [NSString stringWithFormat:@"%d", [d minute]]; 
    if([d minute] < 10) { 
        fen = [NSString stringWithFormat:@"0%d",[d minute]]; 
    } 
    NSString *miao = [NSString stringWithFormat:@"%d", [d second]]; 
    if([d second] < 10) { 
        miao = [NSString stringWithFormat:@"0%d",[d second]]; 
    } 
//    NSLog(@"===%@天 %@:%@:%@",t,h,fen,miao); 
    [_longtime setText:[NSString stringWithFormat:@"%@天 %@:%@:%@",t,h,fen,miao]]; 
    if([d second] > 0) { 
        //計(jì)時(shí)尚未結(jié)束,do_something 
//        [_longtime setText:[NSString stringWithFormat:@"%@:%@:%@",d,fen,miao]]; 
    } else if([d second] == 0) { 
        //計(jì)時(shí)結(jié)束 do_something 
         
    } else{ 
//計(jì)時(shí)器失效
        [theTimer invalidate]; 
    } 
     
}

相關(guān)文章

  • iOS9 系統(tǒng)分享調(diào)用之UIActivityViewController

    iOS9 系統(tǒng)分享調(diào)用之UIActivityViewController

    UIActivityViewController類是一個(gè)標(biāo)準(zhǔn)的view controller,通個(gè)使用這個(gè)controller,你的應(yīng)用程序就可以提供各種服務(wù)。本文給大家介紹iOS9 系統(tǒng)分享調(diào)用之UIActivityViewController,感興趣的朋友一起學(xué)習(xí)吧
    2015-11-11
  • iOS異步下載圖片實(shí)例代碼

    iOS異步下載圖片實(shí)例代碼

    這篇文章主要介紹了iOS異步下載圖片實(shí)例代碼的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-08-08
  • iOS音樂后臺(tái)播放及鎖屏信息顯示

    iOS音樂后臺(tái)播放及鎖屏信息顯示

    這篇文章主要為大家詳細(xì)介紹了iOS音樂后臺(tái)播放及鎖屏信息顯示,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • 詳解iOS時(shí)間選擇框

    詳解iOS時(shí)間選擇框

    這篇文章主要為大家詳細(xì)介紹了詳解iOS時(shí)間選擇框,感興趣的小伙伴們可以參考一下
    2016-03-03
  • IOS 靜態(tài)庫和Framework區(qū)別

    IOS 靜態(tài)庫和Framework區(qū)別

    這篇文章主要介紹了IOS 靜態(tài)庫和Framework區(qū)別的相關(guān)資料,這里對(duì)動(dòng)態(tài)庫與靜態(tài)庫做比較,選擇什么時(shí)候使用庫文件,需要的朋友可以參考下
    2016-12-12
  • IOS開發(fā)之路--C語言指針

    IOS開發(fā)之路--C語言指針

    指針是C語言的精髓,但是很多初學(xué)者往往對(duì)于指針的概念并不深刻,以至于學(xué)完之后隨著時(shí)間的推移越來越模糊,感覺指針難以掌握,本文通過簡(jiǎn)單的例子試圖將指針解釋清楚
    2014-08-08
  • 簡(jiǎn)單掌握iOS應(yīng)用開發(fā)中sandbox沙盒的使用

    簡(jiǎn)單掌握iOS應(yīng)用開發(fā)中sandbox沙盒的使用

    這篇文章主要介紹了iOS應(yīng)用開發(fā)中sandbox沙盒的使用,即將應(yīng)用的存儲(chǔ)區(qū)域單獨(dú)隔離開來,開發(fā)時(shí)經(jīng)??梢杂玫?需要的朋友可以參考下
    2016-01-01
  • iOS mobileconfig配置文件進(jìn)行簽名的配置方法

    iOS mobileconfig配置文件進(jìn)行簽名的配置方法

    這篇文章主要介紹了iOS mobileconfig配置文件進(jìn)行簽名的配置方法,給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • iOS App設(shè)計(jì)模式開發(fā)中對(duì)迭代器模式的使用示例

    iOS App設(shè)計(jì)模式開發(fā)中對(duì)迭代器模式的使用示例

    這篇文章主要介紹了iOS App設(shè)計(jì)模式開發(fā)中對(duì)迭代器模式的使用示例,示例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下
    2016-03-03
  • IOS 開發(fā)之Object-C中的對(duì)象詳解

    IOS 開發(fā)之Object-C中的對(duì)象詳解

    這篇文章主要介紹了IOS 開發(fā)之Object-C中的對(duì)象詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06

最新評(píng)論