Q: 一个weak修饰的变量时怎么被加入到弱引用表中的?来看一个代码块: 我们先来看看objc_initWeak调用了什么方法。 我们从源码可以...
Q: 什么是ARC? ARC是由编译器(LLVM)为我们自动插入retain、release之外还需要Runtime协作最终组成了ARC。 AR...
iOS中的内存管理,涉及到这么几个方法 alloc retain release retainCount autorelease dealloc...
先来了解一下iOS中的内存布局。 上面的图代表的是内存区域,最上方是内核区,最下面是保留的内存空间。中间位置是给程序加载使用的空间。程序被加载到...
在说动态添加方法之前,我们先来看一个问题 Q: 使用performSelector:可能会遇到什么问题? 这个方法不会检查对象的方法实现,所以可...
Q: 什么是Method-Swizzling? 实际上就是交换两个方法的实现! 实际上实现起来很简单 这样两个方法的实现就被交换了。
我们先来看看实例方法的消息转发流程 这里来说明一下流程 先调用resolveInstanceMethod:这个类方法,告诉系统我们是否需要通过消...
方法缓存的查找流程,实际上就是按照给定的SEL,在方法缓存列表中找到对应的bucket_t中的IMP。对应的流程就是: 我们通过给定的方法映射出...
我们知道在OC中,所有的方法调用最终都会转换成objc_msgSend形式的方法调用。如下图: 而对于调用父类的方法,用的是另一个方法objc_...