美文网首页
Objective-C对象的isa指针

Objective-C对象的isa指针

作者: QD_Fluent | 来源:发表于2018-10-11 11:05 被阅读0次

    Objective-C是一门面向对象的编程语言,每一个对象都是一个类的实例,在Objective-C中,每一个对象都有一个名为isa的指针,指向该对象的类。每一个类描述了一系列它的实例的特点,包括成员变量的列表、成员函数的列表等。每一个对象都可以接受到消息,而对象能够接受到的消息列表保存在它所对应的类中。

    注意:

    每一个对象都有一个isa指针,这个指针指向的是它的类。

    类中包括成员变量、成员函数列表等。

    在Xcode中打开objc.h文件,会看到如下代码:

    /// Represents an instance of a class.

    struct objc_object {

        Class isa  OBJC_ISA_AVAILABILITY;

    };

    通过注释我们看到objc_object代表一个对象的实例,在对象实例中我们看到了isa指针,验证了我们刚才说的话。

    根据面向对象的设计原则,所有事物都应该是对象,所以在Objective-C中,每一个类实际上也是一个对象,每一个类也有一个名为isa的指针,每一个类也可以接收消息,例如代码[NSObject alloc],就是向NSObject这个类发送名为alloc的消息。

    相关文章

      网友评论

          本文标题:Objective-C对象的isa指针

          本文链接:https://www.haomeiwen.com/subject/yysxgftx.html