好的,我知道对象是必须被分配和初始化的类的实例,但是类本身是否也是对象呢?
我知道当你创建一个新的类时,它是另一个东西的实例,比如NSObject。那么,如果这使它成为一个类,那么对象不仅可以持有变量和方法,而且还可以持有其他对象,对吗?
抱歉,可能这很基础,但我正在阅读两本关于Cocoa和Xcode的书籍,这一点有点不清楚(可能是因为我在其他语言方面缺乏经验)。
好的,我知道对象是必须被分配和初始化的类的实例,但是类本身是否也是对象呢?
我知道当你创建一个新的类时,它是另一个东西的实例,比如NSObject。那么,如果这使它成为一个类,那么对象不仅可以持有变量和方法,而且还可以持有其他对象,对吗?
抱歉,可能这很基础,但我正在阅读两本关于Cocoa和Xcode的书籍,这一点有点不清楚(可能是因为我在其他语言方面缺乏经验)。
这里是Greg Parker对于这个问题的一个非常好的解释:
引用如下:
每个Objective-C类都是一个对象,它有一个isa指针和其他数据,并且可以响应选择器。当您调用像[NSObject alloc]这样的“类方法”时,实际上是向该类对象发送消息。Objective-C运行时的理解 by Colin Wheeler
(搜索段落标题“所以类定义了对象…”)
什么是Objective-C中的元类? by Matt Gallagher