首页 > 试题广场 >

关于OC中的类及isa,下列说法正确的有?()

[不定项选择题]
关于OC中的类及isa,下列说法正确的有?()
  • 每个实例对象都有个isa的指针,他指向该对象的类
  • 每个类也有个isa指针,它指向该类的父类
  • 每个类本质上都是一个对象,是其元类(meteClass)的实例
  • 元类也有个isa指针,它指向的是根元类(root metaClass),根元类也有isa指针,指向的是NSObject
A和C。
Objective-C实例对象的isa指针是指向它的类对象的。Objective-C中有三个层次的对象:实例对象(instance object)、类对象(class)和元类(meta class)。Class即自定义的类,是实例对象的类对象,而类对象又是其对应元类的实例对象。

isa指针的作用是通过它可以找到对应类对象或元类中的方法(对象可接收的方法列表),例如,实例对象可以在其类对象中找到它的实例方法,Class对象可以从元类中找到它的类方法。此外特别地,元类的isa指针指向的是根元类(root metaClass),而根元类也有isa指针,指向的是其本身。
发表于 2018-08-04 15:34:39 回复(2)

64位开始,isa&ISA_MASK才能得到类地址

发表于 2019-05-16 22:32:06 回复(0)
一、对象通过对象的isa指针指向类。 二、类通过类的isa指针指向元类。所以B错。三、 所有的元类最终继承一个根元类,根元类isa指针指向本身。 所以D错。
编辑于 2018-12-31 17:46:46 回复(1)
d是元类的isa指向自己形成闭环
发表于 2018-09-03 06:42:46 回复(0)