
先举个例子,下面这段代码是在非ARC环境下运行: 通过clang编译后的代码如下: 下面是__AtAutoreleasePool的声明: 结合上...
demo: ThreadSynchronization 多线程技术使得执行任务的效率得到提升,但多线程也是一个易发生各种问题的编程技术。如数据竞...
系统创建了一个全局的哈希表SideTables,它使用对象的内存地址作key,值为SideTable结构体。SideTable维护对象的引用计数...
Runtime API demo 类相关 动态创建一个类(参数:父类,类名,额为的内存空间) 注册一个类(成员变量要在类注册之前添加) 获取is...
OC的方法调用都是通过消息发送这种机制来实现的。当调用一个实例方法或者类方法时,底层实现是实例对象或者类对象调用objc_msgSend函数。先...
从runtime源码中看到Class的结构如下 分别解释下几个字段 superclass:指向父类的指针 cache:调用过的方法缓存 bits...
在arm64架构之前,isa就是一个普通的指针,存储着Class或Meta-Class对象的内存地址。arm64架构之后对isa做了优化,isa...
__block的内存管理 当block使用外部变量时,是不能直接在block内修改这些变量的。我们用__block修饰变量后就能够修改了。但需要...
在上篇文章中有说到ARC环境下,编译器会根据情况自动将栈上的block拷贝到堆上,具体情况以下: block作为函数返回值时 将block赋值给...
文集作者