zoukankan      html  css  js  c++  java
  • iOS:时间相关(18-10-13更)

    先整理出时间相关的程序,以后有空再写成单例。

    1、日历(NSCalendar)

    2、时间格式()

    3、时间戳

    附录:

    1、定时器

    1、日历(NSCalendar)

      1、想要获取 世纪、年、月、日、时、分、秒、星期 等信息,需要加入对应的枚举。

    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierChinese];
    NSUInteger units = NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
    NSDateComponents *components = [calendar components:units fromDate:[NSDate date]];
    

      

    2、时间格式()

    3、时间戳

    附录:

    1、定时器

      1)、使用方法

    //定时1秒,重复
    [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerAction:) userInfo:nil repeats:YES];
    
    //定时中断处理
    -(void)timerAction:(NSTimer*)timer
    {
    	NSArray *viewArray = timer.userInfo;
    }
    
    //定时器失效、释放
    [timer invalidate];
    

      补充:理论上,多个任务挂载到同一个定时器上,在定时中断处理,判断某任务是否需要暂停。

         而不是,每个任务添加一个定时器,然后暂定定时器来暂停任务。

      2)、滚动视图,定时器失效。解决方法:添加到RunLoop里

        // NSDefaultRunLoopMode - 标准优先级
        // NSRunLoopCommonModes - 高优先级
        // UITrackingRunLoopMode - 用于 UIScrollView 和别的控件的动画
        
        timer = [NSTimer scheduledTimerWithTimeInterval:1.0 repeats:YES block:^(NSTimer * _Nonnull timer) {
            
        }];
        
        [[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
    

      补充:NSDefaultRunLoopMode ,默认模式,使用该模式还是会失效。

         UITrackingRunLoopMode,用这个模式跟UIScrollView相同模式,拖动可以正常计时。

         NSRunLoopCommonModes,把timer同时添加到上面两种RunLoop模式下(网上写的),拖动可以正常计时。

        // 获得当前线程的 RunLoop 对象
        [NSRunLoop currentRunLoop];
        // 获得主线程的 RunLoop 对象
        [NSRunLoop mainRunLoop];
    
  • 相关阅读:
    bzoj 4012: [HNOI2015]开店
    POJ 1054 The Troublesome Frog
    POJ 3171 Cleaning Shifts
    POJ 3411 Paid Roads
    POJ 3045 Cow Acrobats
    POJ 1742 Coins
    POJ 3181 Dollar Dayz
    POJ 3040 Allowance
    POJ 3666 Making the Grade
    洛谷 P3657 [USACO17FEB]Why Did the Cow Cross the Road II P
  • 原文地址:https://www.cnblogs.com/leonlincq/p/8341838.html
Copyright © 2011-2022 走看看