Diferença entre objeto e sobject
-
22-09-2019 - |
Pergunta
Estou aprendendo o Objetivo-C e, como posso ver, em alguns tutoriais eles usam objeto (importado do objc/object.h) e em outros vejo o uso do NSObject (importado da fundação/sobject.h), mas o que são as principais diferenças entre eles?
Cumprimentos.
Solução
Você deve ignorar o objeto.
Objective-C permite várias classes raiz. O objeto é uma classe raiz que antecede o NSObject. Nunca é algo que você gostaria de usar. Só é relevante quando algo de alguma forma já interage com o objeto, então você precisa lidar com isso. Isso é muito raro.
Objeto não implementa -retain
e -release
, por exemplo.
Outras dicas
Objective-C é apenas o idioma.
As estruturas de cacau usam a classe base do NSObject como a classe raiz da hierarquia. Outras implementações usam suas próprias classes raiz, no seu caso a classe de objeto.
O NSObject contém toda a infraestrutura da estrutura de cacau. Em outras palavras, ele está em conformidade com vários protocolos que o objeto não responde e responderá a certos métodos que o objeto não o fará. Veja especificamente Referência de classe NSObject e