Primeros pasos con el lenguaje Objective-C

Hola Mundo

Este programa generará “Hello World!”

#import <Foundation/Foundation.h>

int main(int argc, char * argv[]) {
    NSLog(@"Hello World!");
}

#import es una directiva de preprocesador, que indica que queremos importar o incluir la información de ese archivo en el programa. En este caso, el compilador copiará el contenido de Foundation.h en el marco Foundation en la parte superior del archivo. La principal diferencia entre #import e #include es que #import es lo suficientemente “inteligente” como para no reprocesar archivos que ya se han incluido en otros #includes.

La [documentación del lenguaje C] (https://www.wikiod.com/es/c/primeros-pasos-con-el-lenguaje-c#Hola Mundo) explica la función principal.

La función NSLog() imprimirá la cadena proporcionada a la consola, junto con alguna información de depuración. En este caso, usamos un literal de cadena Objective-C: @"Hello World!". En C, escribiría esto como "Hello World!", sin embargo, Foundation Framework de Apple agrega la clase NSString que proporciona una gran cantidad de funciones útiles y es utilizada por NSLog. La forma más sencilla de crear una instancia de NSString es así: @"string content here".

Técnicamente, NSLog() es parte de Foundation Framework de Apple y en realidad no es parte del lenguaje Objective-C. Sin embargo, Foundation Framework es omnipresente en toda la programación de Objective-C. Dado que Foundation Framework no es de código abierto y no se puede usar fuera del desarrollo de Apple, existen alternativas de código abierto al marco que están asociadas con OPENStep y GNUStep.


Compilando el programa

Suponiendo que queremos compilar nuestro programa Hello World, que consta de un solo archivo hello.m, el comando para compilar el ejecutable es:

clang -framework Foundation hello.m -o hello

Entonces puedes ejecutarlo:

./hello

Esto generará:

Hello World!

Las opciones son:

  • -framework: Especifica un marco a usar para compilar el programa. Dado que este programa utiliza Foundation, incluimos el marco Foundation.

  • -o: Esta opción indica a qué archivo nos gustaría enviar nuestro programa. En nuestro caso hola. Si no se especifica, el valor predeterminado es a.out.