一个类的opaque类型是什么意思?

时间:2013-10-27 23:48:55

标签: objective-c class

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

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

1 个答案:

答案 0 :(得分:0)

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

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