São objects de classs no Objective-C?

Ok, então eu entendo que um object é uma instância de uma class que deve ser alocada e inicializada, mas são as próprias classs de objects?

Eu sei que quando você cria uma nova class é uma instância de outra coisa, como NSObject. Então, se isso torna uma class, os objects podem conter não apenas variables ​​e methods, mas também outros objects, certo?

Desculpe, isso é provavelmente muito básico, mas eu estou lendo dois livros sobre cacau e xcode e este ponto é um pouco claro (provavelmente por causa da minha falta de experiência em outras línguas).

Aqui está uma boa explicação do assunto por Greg Parker

Citando:

[…] Cada class Objective-C também é um object. Ele possui um ponteiro isa e outros dados e pode responder aos seletores. Quando você chama um “método de class” como [NSObject alloc], você está realmente enviando uma mensagem para esse object de class.

Como uma class é um object, ela deve ser uma instância de alguma outra class: uma metaclass. A metaclass é a descrição do object de class, assim como a class é a descrição de instâncias ordinárias. Em particular, a lista de methods da metaclass são os methods de class: os seletores aos quais o object de class responde. Quando você envia uma mensagem para uma class – uma instância de uma metaclass – objc_msgSend () examina a lista de methods da metaclass (e suas superclasss, se houver) para decidir qual método chamar. Os methods de class são descritos pela metaclass em nome do object de class, assim como os methods de instância são descritos pela class em nome dos objects da instância.

E a metaclass? É metaclasss todo o caminho? Não. Uma metaclass é uma instância da metaclass da class raiz; a metaclass da raiz é em si uma instância da metaclass da raiz. A cadeia isa termina em um ciclo aqui: instância para class para metaclass para raiz metaclass para si mesma. O comportamento dos pointers metaclass raramente é importante, já que no mundo real ninguém envia mensagens para objects metaclasss. […]

Mais interessante lê:

Entendendo o Runtime do Objective-C por Colin Wheeler
(procure pelo parágrafo intitulado “Então, Classes definem objects …”)

O que é uma meta-class em Objective-C? por Matt Gallagher