2019年02月12日
|
阅读量
😁
iOS绘图的几种方式
先看一张图:
图中表明了iOS中常见的三种绘图方式:
OpenGL ES / Metal
Core Graphics
Core Animation
其中OpenGL ES和Core Graphics都是偏底层的框架,关于OpenGL的使用可参考我的一个例子:
h...
阅读更多
2019年01月13日
|
阅读量
😁
在oc中有关键字nonatomic和atomic,atomic修饰的属性是写安全的,但绝不是线程安全。
实际上atomic修饰的属性只是多了一层自旋锁,其作用是对属性的setter方法加锁,当一个新的线程p1要尝试setter方法写操作时,需要获取的这个自旋锁,若此时已有线程p2正在写(已经占有自旋锁),那么p...
阅读更多
2019年01月02日
|
阅读量
😁
Block
block的本质是什么?是 oc 对象(包含isa指针), 是函数及其运行环境、上下文的封装。 常用于
使用
作为变量
int (^sum) (int, int); // 定义一个 Block 变量 sum
// 给 Block 变量赋值
// 一般 返回值省略:sum...
阅读更多
2018年12月12日
|
阅读量
😁
Runloop
一个线程一次只能执行一个任务,执行完成后线程就会退出。RunLoop 机制能让线程随时处理事件但并不退出。这里说的随时是指:程序需要运行时就保持程序的持续运行,不需要的时候就进入休眠状态。
RunLoop 的结构
和 RunLoop 相关的主要涉及五个类:
CFRunLoopRef:...
阅读更多
2018年11月11日
|
阅读量
😁
Cube尊重并保护您的个人隐私。本隐私策略解释Cube会收集关于您的哪些信息及其原因,以及我们会如何使用和保护这些信息。
Cube会收集我的哪些信息?
Cube 不收集任何信息
Cube如何保护我的隐私?
Cube不会在除非您许可的情况下将您的个人信息分享给第三方。
本《隐私政策》的修改
Cube可...
阅读更多
2018年10月05日
|
阅读量
😁
Piano Player respects and protects your personal privacy. This privacy policy explains what information the Promasters collect about you and why, and how we ...
阅读更多
2018年10月01日
|
阅读量
😁
Piano Player尊重并保护您的个人隐私。本隐私策略解释临帖大师会收集关于您的哪些信息及其原因,以及我们会如何使用和保护这些信息。
Piano Player会收集我的哪些信息?
Piano Player会以匿名形式通过 Alamofire服务收集琴谱。
Piano Player如何保护我的隐私?
...
阅读更多
2018年06月27日
|
阅读量
😁
http简介
http是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是应用层协议,用于从WWW服务器传输超文本到本地浏览器。
http是标准的c/s模型,由请求应答构成,通常是无状态的协议。
http协议问世于1990年,1996年5月被正式作为标准公布,版本命名为http...
阅读更多