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的消息。
网友评论