mar 18 2008
Curs Programació MacOSX – Objective-C (I)
Hola Mon
El primer que farem és un senzill Hola Mon. Realment es podria fer exactament de la mateixa manera que el fem a C, ja que Objective-C és una extensió de C. Però mirarem d’utilitzar les eines de l’objective-c i les funcions de les frameworks fetes amb aquest llenguatge.
Ho farem a partir del codi que ens ofereix l’XCode al crear un projecte tipus “Foundation Tool” (el podeu trobar en la secció “Command Line Utility”. El nom del projecte serà “HolaMon”.
Aquest és el codi que ens apareix, que analitzem a continuació.
:: HolaMon.m
#import int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// insert code here...
NSLog(@"Hello, World!");
[pool drain];
return 0;
}
El primer que veiem és el nom del fitxer. En Objective-C l’extensió dels fitxers acostuma a ser “.m” i “.h”. El nom del fitxer té relació amb el nom del projecte.
La primera línia conté un “#import” això és semblant a un “#include” de C, però té la peculiaritat que no torna a carregar fitxers prèviament carregats evitant errors de doble definició. El fitxer Foundation.h conté les definicions de la framework Foundation.
Després tenim la definició de la funció main que no té cap secret pels qui han programat amb C i C++.
La línia que comença amb “NSAutoreleasePool” no hi aprofundirem, però serveix per a la gestió de la memòria. Però com que aquí no gestionarem la memòria de l’aplicació fins i tot la podríem eliminar.
Clarament, la següent línia ens diu en anglès que afegim allí el codi. I la següent línia és on hi tenim el nostre codi en anglès (podeu canviar-lo al català). Aquesta línia conté la funció NSLog que si mirem a l’ajuda ens diu que ens permet treure un missatge per la sortida d’error. Veiem que la cadena de text va precedida del símbol “@” arroba, això indica que és un objecte NSString, un cadena de text en format unicode. Un dels avantatges de programar amb Objective-C és no haver-se de preocupar de la codificació, doncs l’unicode permet representar qualsevol codificació de text.
La penúltima línia té a veure amb la primera, que servia per gestionar la memòria, així que no l’explicarem. Si esborrem la primera línia aquesta també cal esborrar-la.
La última línia només retorna el número zero “0″ que indica que el programa a acabat sense cap error.
Executar el codi
Si compileu el programa podeu veure’n el resultat de diferents formes. Si l’executeu des de l’XCode caldrà que obriu la consola (Menú -> Run -> Console) i veureu els missatge “Hola Món”. Si l’executeu des d’un terminal caldrà que entreu en el directori on està compilat el programa “build/Release” o “build/Debug” i executar-lo “./HolaMon” i ja podeu veure el resultat.
Compilar el programa des de la línia de comandes és senzill “gcc -framework Foundation -o HolaMon HolaMon.m”. Podeu veure que s’ha hagut de definir les frameworks que utilitzem. Això ens crearà l’executable “HolaMon” en el mateix directori on hi ha el codi font.
Conclusió
Bé, sembla senzill oi. Només cal tenir en compte les diferències de l’Objective-C i conèixer les classes de les diferents frameworks. La pròxima entrada tractarà de les principals diferències que hi ha respecte el llenguatge C.
Si heu de comentar qualsevol cosa, podeu fer-ho en aquest tema del fòrum.
mar 26, 2008 @ 15:06:03
que pena que esté sólo disponible en catalán
mar 26, 2008 @ 15:51:02
Juanjo puedes intentar seguirlo utilizando un traductor automático como el de http://www.translendium.com
ago 05, 2008 @ 18:59:44
@mlaboria – No entiendo como en los tiemops que corren, escriben estas cosas en un lenguaje tan minoritario, el que comprende catalán compren el castellano, vamos ni siquiera me molestare en traducir este texto, proveniendo de semejante calaña
jun 09, 2009 @ 02:04:55
Bona nit, y perdonad el uso del castellano. Quiero contratar un programador para realizar una aplicación muy sencilla en Objective C. Se trata de crear un libro electrónico que la gente pueda descargarse de la App Store. Interesados por favor mandadme un e-mail. Merçi.
mar 09, 2011 @ 15:37:52
Dóna gust trobar un curs d’objective-c en català. Moltes gràcies i felicitats!