240 发简信
IP属地:上海
  • 120
    iOS-底层原理 30:Block底层原理

    iOS 底层原理 文章汇总[//www.greatytc.com/p/412b20d9a0f6] 本文主要介绍block的类型、循环引用的解决方法以及block底层...

  • 120
    分类的加载原理

    在上一篇文章[//www.greatytc.com/p/2749b337fd9e]中,我们分析了类的加载,并且已经摸到了分类的信息,那么是怎么加到我们类里面去的呢,...

  • 120
    类的加载

    在上一篇文章中,我们了解了objc和dyld的关联,那么关联之后怎么对类进行加载的呢, 本篇将对类的加载进行探索和分析。 在上一篇文章中我们通过objc_init里面的_dy...

  • 120
    dyld和objc的关联

    在上一篇文章中,我们知道了dyld是苹果的动态链接器,以及讲到了链接镜像文件和整个的加载流程。 那么dyld是怎么和objc进行关联的呢,这篇文章就来了解一下。 dyld在加...

  • 120
    dyld流程分析

    在讲dyld流程之前,我先提一个问题,就是在我们程序运行的时候,在main函数之前,会先走ViewController的load方法, 再走C++的方法,这是为什么? 带着这...

  • 120
    消息转发机制

    在上一篇文章中,我们了解了方法的慢速查找流程以及动态方法决议,在动态方法决议之后其实还不会崩溃,后面还会走到消息转发流程, 这一篇文章就来了解一下消息的转发机制。 在讲解消息...

  • count >> 1 应该代表的是右移 1位 ,你注释上写的是左移

    iOS-底层原理 13:消息流程分析之慢速查找

    iOS 底层原理 文章汇总[//www.greatytc.com/p/412b20d9a0f6] 在上一篇iOS-底层原理 12:objc_msgSend流程分析之...

  • 120
    objc_msgSend流程分析之慢速查找

    在快速查找流程中,如果缓存命中了还好说,那么如果命不中呢,就会到我们的objc_msgSend慢速查找流程,这篇文章就好好来分析是怎么进行慢速查找的 快速查找中如果没有找到方...

  • 120
    objc_msgSend流程分析之快速查找

    在上一篇文章中,我们了解了cache的写入流程,那么是怎么进行方法的查找呢,接下来我们在这篇以及下面的文章来进行探讨,本篇文章先对方法的快速查找进行分析。 在分析之前,先来说...

  • 120
    cache_t分析

    前两篇文章中,我们对类结构进行了分析,objc_class里面有isa、superclass、cache、和bits, 在上两篇文章中我们主要分析了bits,那么今天我们来看...

  • 120
    类结构分析下+经典面试题分析

    在上一篇文章中我们已经探讨了isa的走向和类的结构分析,这一篇我们讲继续探索,然后分享两个经典的面试题。 上次文章结尾留下个问题,就是没有打印出成员变量,是怎么回事呢,其实它...

  • iOS 底层原理 文章汇总

    对象和类的分析 1、alloc 流程图[//www.greatytc.com/p/40ee604c5fa6] 2、结构体内存对齐[https://www.jians...

  • 120
    类的结构分析

    今天给大家带来类的结构分析 我们在之前内容中已经得知isa里面存着类信息,那么我们今天好好对类来分析分析。 首先,我们先用 isa & ISA_MASK 拿到类信息,相信这...

  • 120
    isa结构分析

    在开始讲之前,我们先来了解一个牛逼的编译器,Clang: 大致内容在这张图片上讲的很清楚了,接下来就用一个命令把它整出来,那就是 用` clang -rewrite-objc...

  • 120
    结构体内存对齐

    这周工作比较忙,加上之前从来没写过博客,所以不怎么会写,现在就先以文字写,后面通过学习写博客慢慢会改善成图文的形式,给我点时间,也许下一篇就是了,哈哈哈哈哈,谢谢大家了! 首...

  • alloc流程图

    首先,先下载objc-781源码进行调试,你才知道整个流程的来龙去脉。 然后点进alloc方法里面,得知一系列的方法调用_objc_rootAlloc ->callAlloc...