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];
    
  • 相关阅读:
    【计算机图形学】变换 (Transform)
    [图像处理]基于 PyTorch 的高斯核卷积
    [PyTorch] torch.squeee 和 torch.unsqueeze()
    【图像分析】边缘检测中的图像梯度以及各种梯度算子的介绍
    你买的课程看了吗?
    为什么用抓包工具看HTTPS包是明文的
    定制化Fiddler
    软件测试常见网络相关面试题
    单线程和多线程执行对比—Python多线程编程
    多线程实践—Python多线程编程
  • 原文地址:https://www.cnblogs.com/leonlincq/p/8341838.html
Copyright © 2011-2022 走看看