首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
有小鸡偷吃
掘友等级
iOS开发
获得徽章 4
动态
文章
专栏
沸点
收藏集
关注
作品
赞
72
文章 72
沸点 0
赞
72
返回
|
搜索文章
最新
热门
一文搞懂iOS的证书的关系
苹果的安全验证是由两对公私钥组成的安全防线。我们假设钥匙A打开锁A,钥匙B打开锁B。然后整个流程是这样的:
AFNetworking 源码阅读笔记
AFURLSessionManager的子类, 封装了 GET, POST等方法. HTTPMethodsEncodingParametersInURI属性可配置将哪一类请求的参数拼接在url上, 默认是GET,HEAD 和DELETE. 其他则放到body里.具体代码: 2.…
底层学习07_Block
以上就是初始化__main_block_impl_0的源代码. 这样就容易理解多了.其实就是将结构体实例的指针赋值给变量myBlock. 这就是简单的使用函数指针调用函数. 另外我们可以在Block结构体中看到isa,说明Block其实是Objective-C对象. FuncP…
计算机网络_TCP
SYN 同步序号用来发起一个连接. 通过序列号来重新排序数据包. 序列号是在第一次客户端请求建立连接时候初始化的.seq就是序列号.对方在收到SYN消息之后通过ack=seq+1,来应答. 第一次握手:客户端将标志位SYN(Synchronize Sequence Number…
06底层学习_自动释放池
这个结构体的构造函数里调用objc_autoreleasePoolPush, 析构函数里调用objc_autoreleasePoolPop.那么我们就来分析一下objc_autoreleasePoolPush和objc_autoreleasePoolPop. 自动释放池的pus…
05底层学习_内存管理(下)
可以看出ISA_MAGIC_VALUE是对nonpointer和magic的赋值. 指针地址最后一位都是8或者0, 原来的指针二进制和右移3位之后的二进制,是一样的. 右移3位是去除0,是苹果的优化. Using an entire pointer-sized piece of…
底层学习05_内存管理(上)
堆栈溢出,表示堆区和栈区碰撞了. 尽量封装方法,函数. 加快编译速度. 因为一个方法越长,更加难被识别,所以编译速度更慢. -- 用空间换时间. makeTaggedPointer方法最后,return的_objc_encodeTaggedPointer就是一个异或操作后的值.…
底层学习04_iOS中的锁
多线程访问同一资源,发生资源抢夺.为防止这一现象.产生了锁. 没有优先级翻转问题,因为等待状态的高优先级任务没有占用时间片,所以低优先级的任务可以继续进行,然后释放锁. 可以使用并发队列+dispatch_barrier_async实现类似读写锁的效果. 原子性和非原子性的区别…
底层学习03_多线程
关于进程和线程的概念,在本文就不过多叙述了. 新建一个线程(alloc init 一个myThread). 等到同步锁了,线程变为runnable状态,等待被CPU调度. run second excuted打印了而current thread in run second没有打…
底层学习02_Runloop
runloop中一定要有输入源或者定时器,才能启动. Runloop是程序运行循环对象,是一个do...while循环,但是性能很好,可以节省cpu资源. 和线程是一对一的.一个runloop只能在一个mode下运行,每个mode有不同的source,timer,observe…
下一页
个人成就
文章被点赞
1
文章被阅读
2,814
掘力值
135
关注了
32
关注者
3
收藏集
7
关注标签
15
加入于
2016-08-17