数组的遍历,这个话题貌似没什么好探究的,该怎么遍历就怎么遍历呗!但是如果要回答这些问题:OC数组有哪几种遍历方式?哪种方式效率最高?为什么?各种...
数组的遍历,这个话题貌似没什么好探究的,该怎么遍历就怎么遍历呗!但是如果要回答这些问题:OC数组有哪几种遍历方式?哪种方式效率最高?为什么?各种...
CPU和GPU 在屏幕成像过程中,CPU和GPU起着至关重要的作用CPU负责对象的创建和销毁、对象属性的调整、布局计算、文本的计算和排版、图片的...
iOS程序的内存布局 注:只要是static修饰的变量就相当于是全局变量,整个项目就只有一份内存地址 Tagged Point技术 从64bit...
多线程方案: 比较常用的是GCD,是直接用Block去写代码的。使代码比较紧凑。 GCD常用函数 同步执行任务:dispatch_sync(di...
RunLoop是一个运行循环,保证App能够持续运行,处理各种事件,节省CPU资源,没事处理的时候就进入休眠。简单的RunLoop机制如下: N...
前面我们看到Block是会将捕获到的变量保存在__main_block_impl_0结构体中,那么是不是所有变量都会被捕获呢?肯定不是的。接下来...
作为iOS开发,大家都知道iOS是闭源的,我们只能看到头文件,而看不到里面的实现。网上有部分iOS开源的代码,如:Runtime的开源代码。ob...
我们先创建两个类Person和Student,Student继承自Person类,接下来我们在Student打印如下代码: 发现super跟se...
我们接下来看看类对象的本质,其实就是下面这个结构体: 最后一个bits存储着非常多的东西,跟之前说的位域一样,想要取出某些东西必须bits&XX...
前面我们知道在arm64位之后实例对象的isa指针&ISA_MASK之后是指向class类对象,class类对象的isa指针&ISA_MASK之...
专题公告
iOS底层原理知识