zoukankan      html  css  js  c++  java
  • oc的运行时系统

    Objective-C is a class-based object system. Each object is an instance of some class; the object's isa pointer points to its class. That class describes the object's data: allocation size and ivar types and layout. The class also describes the object's behavior: the selectors it responds to and instance methods it implements.

    https://www.cnblogs.com/feng9exe/p/7232915.html

    一、运行时结构系统

    typedef struct objc_class *Class;

    typedef struct objc_object *id;

    struct objc_class {

        Class isa  OBJC_ISA_AVAILABILITY;

    }

    struct objc_object {

        Class isa  OBJC_ISA_AVAILABILITY;

    };

    1、Class本身是一个类型结构,定义了类类型的组成和存储形式;

    2、oc的类信息在编译时被编译为class的实例;即将oc的类信息保存在一个Class实例的结构中。

    struct objc_class {

        Class isa  OBJC_ISA_AVAILABILITY;

        #if !__OBJC2__

        Class super_class                                        OBJC2_UNAVAILABLE;

        const char *name                                         OBJC2_UNAVAILABLE;

        long version                                             OBJC2_UNAVAILABLE;

        long info                                                OBJC2_UNAVAILABLE;

        long instance_size                                       OBJC2_UNAVAILABLE;

        struct objc_ivar_list *ivars                             OBJC2_UNAVAILABLE;

        struct objc_method_list **methodLists                    OBJC2_UNAVAILABLE;

        struct objc_cache *cache                                 OBJC2_UNAVAILABLE;

        struct objc_protocol_list *protocols                     OBJC2_UNAVAILABLE;

        #endif

    } OBJC2_UNAVAILABLE;

    3、oc的对象在创建时,会与它的类型信息进行关联。

    isa;

    二、运行时构建系统

    isa

    method

    三、运行时执行(解释)系统

    1、查找执行系统

    _objc_msgSend

    objc_msgSendSuper

    the superclass at which to start searching for the method implementation

    2、解释转发系统

    _objc_msgForward

    ForwardInvocation

    3、

  • 相关阅读:
    医院信息化管理系统(HIS)与医院网络时钟系统
    实验吧—Web——WP之 上传绕过
    实验吧—Web——WP之 猫抓老鼠
    实验吧—Web——WP之 因缺思汀的绕过
    实验吧—Web——WP之 貌似有点难
    实验吧—Web——WP之 Forms
    实验吧—隐写术——WP之 我喜欢培根
    实验吧—隐写术——WP之 Fair-Play
    实验吧—隐写术——WP之 奇妙的音乐
    实验吧—隐写术——WP之 男神一般都很低调很低调的!!
  • 原文地址:https://www.cnblogs.com/feng9exe/p/11677813.html
Copyright © 2011-2022 走看看