240 发简信
IP属地:天津
  • 120
    消息流程3.动态方法决议和消息转发

    动态方法决议 objc_msgSend发送消息会先从缓存里面imp缓存中查找,如果没有查找到会进入lookUpImpOrForward查找,先从当前类的methods()查找...

  • 消息流程2. lookUpImpOrForward

    objc_msgSend是使用汇编编写的,首先 在缓存中查找方法的imp,如果没有查找到方法,则会调用lookUpImpOrForward开启慢速查找。 lookUpImpO...

  • autorelease是把这个对象添加到自动释放池了;retain和release在ARC模式下应该是在llvm编译的时候处理的;reallySetProperty是给类的属性set新值,旧值与这个类已经没有关系了,旧值的引用计数就需要release

    iOS 内存管理2-MRC&ARC,retain、release、dealloc

    oc和swift都是使用引用计数进行管理对象。 每个对象的引用计数是如何存储的? isa是一个64位的联合体位域,根据CPU架构的不同每个成员的长度不同。isa结构[http...

  • 消息流程1-objc_msgSend

    oc是动态语言,sel会在运行时查找imp的内存地址相对于静态语言,在编译期间已经确定了imp的内存地址。 objc_msgSend arm64源码(objc 818),81...

  • OC类的结构-cache_t

    OC中的类是一个继承自objc_object的objc_class结构体。 cache_t是做什么的?从字面上理解是缓存,那又存储什么? cache_t是缓存空间,主要存储s...

  • 120
    1- WebRTC传输基本知识

    NAT:内网打穿到公网 STUN:公网信息交换,进行连接 TURN:云端服务器,防止STUN连接失败,A端通过TURN服务器转发给B端 ICE:找出所有的IP路径 NAT N...

  • 120
    LLVM-1.Clang

    LLVM是架构编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序编写的程序的编译时间(compile-time)、链接时间(link-time)、运行...

  • 120
    iOS内存管理4-autorelease自动释放池

    临时变量什么时候释放自动释放池的原理自动释放池能否嵌套使用 使用xcode创建一个project在创建的时候有会生成一个main.m文件,其中@autoreleasePool...

  • iOS内存管理3 - NSTimer循环引用

    NSTimer提供的timerWithTimeInterval:target:selector,该方法中target会对self进行强引用 解决方式1 解决方法二:使用VC中...

  • 120
    iOS 内存管理2-MRC&ARC,retain、release、dealloc

    oc和swift都是使用引用计数进行管理对象。 每个对象的引用计数是如何存储的? isa是一个64位的联合体位域,根据CPU架构的不同每个成员的长度不同。isa结构[http...

  • 120
    iOS 内存管理1——Taggedpointer

    1.内存布局 栈区: 函数,方法 堆区: 通过alloc分配的对象 BSS段: 未初始化的全局变量,静态变量 data数据段: 初始化的全局变量,静态变量 text: 程序代...

  • 120
    OC经典面试题class_getInstanceMethod、class_getClassMethod、isKindOfClass

    oc中方法存在于类中,类方法存在于元类中 class_getInstanceMethod 意思是这个 会返回类的 问题1 LGPerson类 main.m 问:输出情况? s...

  • 120
    OC 类的结构分析

    网络中有个关于类的关系的图 图中虚线部分是isa的的继承关系证明如下图 有关lldb指令的说明: p/x 以16进制形式打印 x/4gx 读取内存地址,冒号左边为地址,冒号右...

  • 120
    OC isa结构分析

    分析isa结构之前,先了解下OC对象 在终端中输入命令,将其转成C++代码 C++代码很长,找到main函数中的部分 从c++代码可以发现,oc对象本质是结构体,结构体通过一...

  • 120
    iOS 内存对齐原理

    计算机中内存空间是按照 byte 划分的,计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是某个数的倍数,这就是所谓的内存对齐。 OC类本质上...

  • 120
    iOS oc对象与alloc

    oc中创建一个对象 那么alloc做了什么?init又做了什么?可以通过查看苹果官方开源的objc相关的源码objc的源码地址源码是基于objc4-781,781的源码与之前...

  • iOS OpenGL ES综合动态滤镜

    缩放滤镜 缩放滤镜是修改纹理坐标的值原理: 从客户端传入一个时间值Time到服务端,根据时间值周期性的缩放 通过sin函数计算振幅顶点着色器代码,片元着色器正常输出 灵魂出窍...

个人介绍
满足自己需要的,再去追求自己想要的!