CPU和GPU 在屏幕成像过程中,CPU和GPU起着至关重要的作用CPU负责对象的创建和销毁、对象属性的调整、布局...[作者空间]
iOS程序的内存布局 注:只要是static修饰的变量就相当于是全局变量,整个项目就只有一份内存地址 Tagged...[作者空间]
多线程方案: 比较常用的是GCD,是直接用Block去写代码的。使代码比较紧凑。 GCD常用函数 同步执行任务:d...[作者空间]
RunLoop是一个运行循环,保证App能够持续运行,处理各种事件,节省CPU资源,没事处理的时候就进入休眠。简单...[作者空间]
我们先创建两个类Person和Student,Student继承自Person类,接下来我们在Student打印如...[作者空间]
我们接下来看看类对象的本质,其实就是下面这个结构体: 最后一个bits存储着非常多的东西,跟之前说的位域一样,想要...[作者空间]
前面我们知道在arm64位之后实例对象的isa指针&ISA_MASK之后是指向class类对象,class类对象的...[作者空间]
Block一共有三种类型: NSGlobalBlock ( _NSConcreteGlobalBlock )全局B...[作者空间]
前面我们看到Block是会将捕获到的变量保存在__main_block_impl_0结构体中,那么是不是所有变量都...[作者空间]
我们准备一个简单的block代码: 将这段代码翻译成C++代码如下: 再将这段代码简化一下,把里面的强制类型转换可...[作者空间]
我们知道Catgory可以定义属性,但是不能定义成员变量。比如我们这样写: 编译一下,是会报错的,提示分类不能添加...[作者空间]
我们先创建一个Person类和它的两个分类 我们调用[Person test];方法,打印如下: 这里只打印了Te...[作者空间]
首先我们要明白什么是类扩展class extension?像下面这样就是类扩展 类扩展和分类Catgory一样都是...[作者空间]
KVC的作用是通过一个key来访问某个属性。主要有以下四个方法: 我们新建一个简单的Person类: 当我们访问p...[作者空间]
使用KVO主要是监听属性的变化。简单的KVO如下: KVO的本质 当我们给person1增加KVO后修改age的值...[作者空间]
OC的对象分为三类: instance对象(实例对象) class对象(类对象) meta-class对象(元类对...[作者空间]
(默认64位系统下)OC的对象结构都是通过基础C\C++的结构体实现的。 NSObject的本质 我们先看一个简单...[作者空间]
摘要 本文的目的不是介绍 iOS 中各种锁如何使用,一方面笔者没有大量的实战经验,另一方面这样的文章相当多,比如 ...[作者空间]
作为iOS开发,大家都知道iOS是闭源的,我们只能看到头文件,而看不到里面的实现。网上有部分iOS开源的代码,如:...[作者空间]
AOP(Aspect-Oriented Programming):面向切面的编程。OOP(Object-Orien...[作者空间]