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];
iOS:时间相关(18-10-13更)的更多相关文章
- App适配iPhone 6/ Plus和iOS 8:10条小秘诀
App适配iPhone 6/ Plus和iOS 8:10条小秘诀 iPhone 6iOS 8适配 (原文:raywenderlich 作者:Jack Wu 译者:@TurtleFromMars ...
- macOS 10.13 High Sierra odoo11 开发配置--完整版
1.抹盘安装macOS Sierra 10.13: 制作macOS安装启动盘参见:http://www.iplaysoft.com/macos-usb-install-drive.html 2.安装g ...
- Ubuntu 18.10 版本发布
Ubuntu 是一个基于 Debian 的以桌面为主的 Linux 发行版,以其应用性而闻名.Ubuntu 提供三种官方版本:用于个人计算机的 Ubuntu 桌面,用于服务器和云的 Ubuntu 服务 ...
- win7笔记本VirtualBox安装黑苹果MacOS 10.13
环境 时间:2018.04.09,没有指明时间的教程都是耍流氓 笔记本:某州优雅A460P-i7G D2,4G内存,Intel Core i7-2670QM四核八线程(老笔记本勉强能用),ssd硬盘, ...
- 黑苹果之DELL台式机安装Mac OS X 10.13.6版本操作系统
由于本人所在的公司一般都是DELL的品牌台式机,所以以DELL台式机做小白鼠.记得在2012年的时候,在当时的那家公司为了学习自学IOS开发的Objective-C开发语言的时候,由于囊中羞涩买不起m ...
- 从Ubuntu 18.04 LTS升级到Ubuntu 18.10版本的方法
从Ubuntu 18.04 LTS升级到Ubuntu 18.10版本的方法 2018-10-18 21:08:39作者:ywnz稿源:云网牛站 本文提供从Ubuntu 18.04 LTS(Bionic ...
- 解决 Ubuntu 18.10 使用较新的独立显卡输出无法初始化图形界面并配置深度学习开发环境
原文地址:解决 Ubuntu 18.10 使用较新的独立显卡输出无法初始化图形界面并配置深度学习开发环境 0x00 配置 硬件 OS: Ubuntu 18.10 Base Board: ASUS WS ...
- 背水一战 Windows 10 (13) - 绘图: Stroke, Brush
[源码下载] 背水一战 Windows 10 (13) - 绘图: Stroke, Brush 作者:webabcd 介绍背水一战 Windows 10 之 绘图 Stroke - 笔划 Brush ...
- [CareerCup] 18.10 Word Transform 单词转换
18.10 Given two words of equal length that are in a dictionary, write a method to transform one word ...
- macOs升级到10.13.1Beta || JAVA升级到最新版之后PhpStorm菜单栏问题
macOs升级到10.13.1Beta || JAVA升级到最新版之后PhpStorm菜单栏会消失,估计不止出现在PhpStorm,一系列jetbrains的产品可能都会有这个问题,包括eclipis ...
随机推荐
- PHP读取Excel类文件
想要使用PHP读取Excel文件必然要用到PHPExcel开源类库,网上资源应该挺多的.但是每一种的操作必然都是不同的,可原理应该都是大同小异. 这个文件夹里包含的就是PHPExcel类文件,在外面还 ...
- bootstrap 的模态框的宽与高设置
1,改变bootstrap 的宽与高, 将style=“height:900px”放在<div class = "modal-dialog">或者更外层上,整个模态框的 ...
- 两种开源聊天机器人的性能测试(二)——基于tensorflow的chatbot
http://blog.csdn.net/hfutdog/article/details/78155676 开源项目链接:https://github.com/dennybritz/chatbot-r ...
- springboot监控
springboot版本 <parent> <groupId>org.springframework.boot</groupId> <artifactId&g ...
- Java学习-1
数组 运算符 包 访问权限 修饰符 数组 1. 数组的声明: int[] a; 2. 数组的创建 使用new运算符数组的创建int[] a = new int[100] 数组的长度不要求是常量:new ...
- ASP.NET错误处理的方式(一)
对Web应用程序来说,发生不可预知的错误和异常在所难免,我们必须为Web程序提供错误处理机制.当错误发生时,我们必须做好两件事情:一是将错误信息记录日志,发邮件通知网站维护人员,方便技术人员对错误进行 ...
- 将csv导出json格式
将csv导出json格式 import os,csv,json cf = open('D:\OneDrive\\Tech\\Script\\Powershell_Script\\Uxin_work\\ ...
- Excel英语成绩单 吴昊
- java获取每月的最后一天
public static void main(String[] args) throws ParseException { // 获取当月的天数(需完善) SimpleDateFormat date ...
- Java 运算符(引用和对象)
1. 算数运算符 就是+.-.*./.%.++.--这些,没什么好说的,稍微强调下自加,自减: 前缀自增自减法(++i,--i): 先进行自增或者自减运算,再进行表达式运算. 后缀自增自减法(i++, ...