240 发简信
IP属地:北京
  • iOS 寄存器编程引起的编译问题

    一、寄存器编程代码 1.实例 在某些组件运用到了寄存器相关编程,目的是为了调出当前运行堆栈,部分应用代码如下: 直接拿到 __ss 对应结构体看...

  • 2. runloop 事件处理

    Runloop处理事件模型 RunLoop 的运行逻辑 01、通知Observers:进入Loop 02、通知Observers:即将处理Tim...

  • 1. Runloop结构

    什么是一个Runloop 是通过内部维护的事件循环(==用户态 和 内核态 相互转换==)来对事件或消息进行管理的一个对象 事件循环是什么? 一...

  • 7. 循环引用

    什么是引用计数? 当我们创建一个新对象时,它的引用计数为1 当有一个新的指针指向这个对象时,我们将引用计数加1 当某个指针不再指向这个对象时,我...

  • 6. 自动释放池 autorelease

    @autoreleasepool 原理 ==@autoreleasepool== 实现原理:以栈为节点通过双向链表形式组合而成的 编译期 @au...

  • 5. 锁

    ==1.@synchronize== 用于单例创建,使多线程下保证唯一对象 代码块可用于数组中唯一线程读写 ==2.atomic== 是对象的属...

  • 4. MRC

    MRC 底层实现是否一样 自己生成的对象,自己持有 在iOS内存管理中有四个关键字,alloc、new、copy、mutableCopy,自身使...

  • 3. 属性和关键字

    ==@property== 我们声明一个属性str的时候(@property),在编译阶段,编译器会自动给对象添加一个实例变量_str和它的存取...

  • 2. 内存分配

    ==程序在内存空间分布为:== 由低向高 各个地址块 不连续 高地址 栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值...