类是Objective-C中的对象吗?

| 好的,所以我知道一个对象是必须分配和初始化的类的实例,但是类本身就是对象吗? 我知道当您创建新类时,它是其他对象的实例,例如NSObject。所以,如果这使它成为一个类,那么对象不仅可以包含变量和方法,还可以包含其他对象,对吗? 抱歉,这可能确实很基础,但是我正在阅读两本有关可可和xcode的书,这一点还不清楚(可能是由于我缺乏其他语言的经验)。     
已邀请:
这是格雷格·帕克(Greg Parker)对这个问题的很好解释 报价:   [...]每个Objective-C类也是   宾语。它有一个isa指针,   其他数据,并且可以响应   选择器。当您呼叫\“班级   方法”,例如[NSObject alloc],   实际发送一条消息给   类对象。      由于类是对象,因此它必须是   其他类的一个实例:   元类。元类是   类对象的描述,只是   像是班级的描述   普通实例。特别是   元类的方法列表是类   方法:该类的选择器   对象响应。当您发送   给类的消息-一个实例   元类-objc_msgSend()的外观   通过方法列表   元类(及其超类,如果   任何)来决定要调用的方法。   类方法由   元类代表类   对象,就像实例方法一样   由班级代表   实例对象。      元类呢?是吗   元类一路下跌? A号   元类是根的实例   类的元类;根元类   本身就是根的实例   元类。 isa链以   在这里循环:实例到   元类到根元元类本身。   元类isa指针的行为   很少有问题,因为实际上   世界上没有人向其发送消息   元类对象。 [...] 进一步有趣的内容: 了解Colin Wheeler的Objective-C运行时 (搜索标题为“因此类定义对象…”的段落) 什么是Objective-C中的元类?通过Matt Gallagher     

要回复问题请先登录注册