1.Retain的实现机制。 2.Release的实现机制。 二者的实现机制类似,概括讲就是通过第一层 hash 算法,找到 指针变量 所对应的...
App启动后,苹果在主线程 RunLoop 里注册了两个 Observer,其回调都是 _wrapRunLoopWithAutoreleaseP...
@dynamic 意味着编译器不会帮助我们自动合成 setter 和 getter 方法。我们需要手动实现、这里就涉及到 Runtime 的动态...
深拷贝内存拷贝 浅拷贝指针拷贝 浅拷贝 深拷贝 集合的浅复制 (shallow copy) 集合的浅复制有非常多种方法。当你进行浅复制时,会向原...
栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 堆区(heap):一般由程序员...
MRC @property (atomic,readWrite,retain) UIView *view; ARC @property (ato...
悬垂指针 指针指向的内存已经被释放了,但是指针还存在,这就是一个 悬垂指针 或者说 迷途指针 野指针 没有进行初始化的指针,其实都是 野指针 转...
会 ,为了延长返回对象的生命周期,给其他使用者留足调用的时间 转自:https://github.com/liberalisman/iOS-In...
主要是指 weak 关键字。weak 修饰的变量能够在引用计数为0 时被自动设置成 nil,显然是有运行时逻辑在工作的。 为了保证向后兼容性,A...