使用cocoapods创建自己的组件 命令行执行pod lib creat 组件名命令,创建自己的组件。然后就会让你输入一系列的配置: 配置完成...
Autoreleasepool Autoreleasepool的结构 我们的main函数中定义一个自动释放池 然后通过clang查看源码实现 可...
全局静态变量考察 .h文件 .m文件 然后在ViewController中执行下面代码的打印结果是什么? 结果已经在上面代码的注释中,全局静态变...
synchronized分析 我们先来看个题目: 然后我们调用上面的方法 请问上面的代码设计是否有问题呢?当然有问题,会存在多个线程操作一个数据...
测试启动时间 下面我们通过重签名微信的IPA包来测试一下微信的启动耗时。创建一个项目,然后将微信的IPA包以及重签名的ssh脚本放到项目中。 其...
解释性语言和编译性语言的区别?解释性语言可以通过解释器直接执行相应的代码,比如python语言;而编译性语言要经过编译器编译成相应的可执行文件,...
Block的分类 Block一共有6种类,常见的有三种。 上面这种block的打印结果为<__NSGlobalBlock__: 0x10cbfe...
一、线程的生命周期 首先创建线程,然后调用线程的start,此时线程进入runable就绪状态,等待CPU的调度。CPU调度该线程后,线程进入r...
KVO的使用 KVO使用的三部曲:添加观察者、接受回调、移除观察者;1、为什么要移除观察者呢?如果不移除会造成什么后果呢?如果观察者对象deal...
文集作者