0

“类”被称为类的不透明类型。这是什么意思?它是类的类型吗?

还有一件事,类是指向结构的指针还是基本上是结构?

4

1 回答 1

0

类型变量Class可以保存指向类对象的指针,就像id类型变量可以保存指向任何对象的指针一样。类对象是一个对象。如果你有一个 type 的变量id,你不知道里面是什么东西;与 相同Class。你只知道它是一个对象。我不知道你从哪里得到这个“不透明类型”的术语。

你可以说对象是结构,因为它们是由一堆东西组成的,它们以某种方式在内存中排列在一起。但是你永远不应该关心对象的内部结构。这是运行时的实现细节。您在 Apple 运行时标头中看到的结构,例如objc_objectobjc_class等,并不完全是对象——它们代表 Apple 运行时中对象“开始”的结构;但是对象包含的内容超出了这些结构所描述的内容,例如它的实例变量。

于 2013-10-29T02:20:00.913 回答