网上很多操作指南都是window环境,Mac 环境配置的很少,今天和大家分享一下我的实操经验,亲测有效(也适用于小白选手) 话不多说,现在我们来...
LLVM编译过程: 预处理,词法分析,token,语法分析,AST,代码生成,LLVM IR,优化,生成,汇编代码,link,目标文件。 Cla...
Runloop Timer为什么不准? 1:Runloop Timer底层使用的timer精度不高;2:与Runloop底层的调用机制有关系。 ...
要想优化App的启动过程,需要先了解App的启动流程。 App启动调用顺序:1:加载info.plist里设置的启动图,建立沙箱,对权限检查,加...
循环问题 例如NSTimer,注册了runloop,NSTimer持有self,runloop和线程一一对应,主线程不退出,self没法回收,导...
block是一个对象,可以捕获外部变量,是一个匿名函数,可以保存代码块。使用copy进行修饰,因为一开始处于静态区,当调用外部变量的时候,处于栈...
网络模型:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。网络的通讯其实就是socket间的通讯(通讯的两端都是socket),通过...
原理本质:线程局部空间里存储的私有东西只可被当前线程访问。通过pthread_getspecific,pthread_setspecific进行...
原理:响应式编程,响应观察成员变量的setter方法。因为一个OC属性其实是一个封装,是“_”的成员变量,以及setter和getter方法的封...