项目学习 知识点备忘1
来源:互联网 发布:c语言官方网站 编辑:程序博客网 时间:2024/04/29 19:53
1、让SVProgressHUD提示框自动消失
// 延迟2秒后消失
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)),dispatch_get_main_queue(), ^{ [SVProgressHUD dismiss];});
2、正确创建dispatch_time_t
用dispatch_after的时候就会用到dispatch_time_t变量,但是如何创建合适的时间呢?答案就是用dispatch_time函数,其原型如下:
dispatch_time_t dispatch_time ( dispatch_time_t when, int64_t delta );
第一个参数一般是DISPATCH_TIME_NOW,表示从现在开始。
那么第二个参数就是真正的延时的具体时间。
这里要特别注意的是,delta参数是“纳秒!”,就是说,延时1秒的话,delta应该是“1000000000”=。=,太长了,所以理所当然系统提供了常量,如下:
#define NSEC_PER_SEC 1000000000ull
#define USEC_PER_SEC 1000000ull
#define NSEC_PER_USEC 1000ull
关键词解释:
NSEC:纳秒。
USEC:微妙。
SEC:秒
PER:每
所以:
NSEC_PER_SEC,每秒有多少纳秒。
USEC_PER_SEC,每秒有多少毫秒。(注意是指在纳秒的基础上)
NSEC_PER_USEC,每毫秒有多少纳秒。
所以,延时1秒可以写成如下几种:
dispatch_time(DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC);
dispatch_time(DISPATCH_TIME_NOW, 1000 * USEC_PER_SEC);
dispatch_time(DISPATCH_TIME_NOW, USEC_PER_SEC * NSEC_PER_USEC);
最后一个“USEC_PER_SEC * NSEC_PER_USEC”,翻译过来就是“每秒的毫秒数乘以每毫秒的纳秒数”,也就是“每秒的纳秒数”,所以,延时500毫秒之类的,也就不难了吧~
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ return 0.1;}
- 项目学习 知识点备忘1
- Unix/Linux入门学习170725知识点备忘总结*1
- Python知识点备忘(1)
- java基础学习笔记 -- OOP知识点备忘
- 知识点备忘
- 知识点备忘
- 【项目文档】【知识点】C深入学习知识点checklistV1.1正式版
- 互联网项目备忘(1)
- ext4.1 form 相关细节知识点备忘。
- Java知识点复习1基础备忘
- Python 学习过程一些小的知识点汇总 备忘
- Unix/Linux入门学习170725知识点备忘总结*2
- Unix/Linux入门学习170725知识点备忘总结*3
- Caffe学习笔记6--前4课知识点备忘
- DShow学习备忘1
- Python学习备忘1
- 网上商城项目知识点1
- 小知识点备忘
- intellij创建maven项目遇到的问题
- aws 应对 retire
- 多进程、共享内存的网络聊天室
- 队列得不到资源分配问题
- Wireshark命令行工具tshark使用小记
- 项目学习 知识点备忘1
- ios内存管理语义 assign strong weak copy unsafe_unretained
- HandlerThread与ThreadLocal
- 【网址】收藏一下会死啊!
- 微信接口开发【php代码】
- Spark shuffle-write原理分析
- 梦想太远,现实太近
- 百练2787
- Skinned Mesh原理解析和一个最简单的实现示例