2009-10-19 51 views
7

Estoy aprendiendo Objective-C y como puedo ver, en algunos tutoriales usan Object (importado de objc/Object.h) y en otros veo el uso de NSObject (importado de Foundation/NSObject.h), pero ¿cuáles son las principales diferencias entre ellos?Diferencia entre objeto y NSObject

Atentamente.

+0

¿Puede darnos un enlace a uno de esos tutoriales que utiliza Object? –

+0

Ver: http://www.tenon.com/products/codebuilder/Objective-C.shtml –

Respuesta

6

Debe ignorar el objeto.

Objective-C permite múltiples clases de raíz. Object es una clase raíz anterior a NSObject. Nunca es algo que quieras usar. Solo es relevante cuando algo de alguna manera ya interactúa con Object, por lo que debes lidiar con él. Esto es muy raro

El objeto no implementa -retain y -release, por ejemplo.

+0

¿Entonces puedo importar NSObject y no tendré ningún problema con la sintaxis? –

+0

No estoy muy seguro de lo que quiere decir, pero probablemente sí. Es posible que también desee ignorar el tutorial vinculado que usa Object. Creo que le costará encontrar a otros que se refieran a él. – Ken

6

Objective-C es solo el lenguaje.

Los marcos de trabajo de Cocoa utilizan la clase base NSObject como clase raíz para la jerarquía. Otras implementaciones usan sus propias clases raíz, en su caso la clase Object.

+0

No uso Cocoa, porque estoy en Linux, entonces uso GNUstep con gcc. ;) –

3

NSObject contiene toda la infraestructura del framework Cocoa. En otras palabras, se ajusta a varios protocolos que Object no responde y responderá a ciertos métodos que Object no lo hará. Específicamente vea NSObject Class Reference y

+0

Voy a echar un vistazo a esta referencia. Gracias. –

+0

¡Me alegro de haber ayudado! – ennuikiller

Cuestiones relacionadas