Quando un programmatore medio, abituato a lavorare con i linguaggi classici come c, c++, java, c# e.c.c, vede per la prima volta le chiamate ai metodi, rimane un po’ scioccato. La chiamata viene eseguita in modo strano, ma il disaggio principale è il passaggio dei parametri. Cominciamo dalla descrizione di una chiamata al metodo:

codice:
Person = [Contacts  getPersonByName:@”Pippo” fromCity:@”Roma”];
Visto che molte cose in Objective-C è sono stati progettati per assomigliare a SmallTalk anche le invocazioni dei metodi sono simili. Quindi la regola è questa:
[<oggetto> <metodo> <parametri> ]

NOTA: Anche se il pattern corretto è: [receiver message:argument]. Il metodo in realtà viene chiamato il messaggio. Quindi il classico “invocare un metodo” in Objective-C diventa “Mandare un messaggio” Per non confondere continuerò con la terminologia che ben conosciamo tutti.

Il disaggio principale, è che il nome del metodo sembra un nome di parametro. Alla fine basta conoscere una piccola regola per evitare i disaggi durante la chiamata ai metodi. La regola è semplice: Visto che la maggior parte dei metodi ha un solo parametro, il nome del primo parametro viene incluso nel nome del metodo.

Ecco alcuni esempi delle chiamate con parametri e senza:

codice:
Persons = [Contacts  getAllPersons] ;- //chiamata senza parametri
Person = [Contacts  getPersonById:25];  //Chiamata con un solo parametro
Person = [Contacts  getPersonByName:”Pippo” fromCity:”Roma”]; //Chiamata con 2 parametri
Ecco come potrebbe essere definito il metodo getPersonByName con 2 parametri:
codice:
- (Person *) getPersonByName:(NSString *)strName fromCity:( NSString *)strCity
{
 	//chiamata ad un metodo interno 
   	return [self doSearchWithName: strName  andCity: strCity];
}
Anche per i programmatori, esperti in altri linguaggi hanno i disaggi, leggendo quel codice senza conoscere la regola. Molte volte il disaggio viene associato con l’origine, e quindi con linguaggio, e si fanno le idee sbagliate. Ma poi conoscendola, si comincia a trarre il beneficio. Molte volte mi accorgo che sto invocando dei metodi quasi in un modo umano:
Rubrica, dammiDeiContattiConNome “Pippo” dallaCittaDi “Roma”
Quindi, al mio parere, le chiamate ai metodi in Objective-C sono molto leggibili, basta abituarsi a scrivere e leggere il codice applicando una certa logica.

Buona programmazione a tutti

N.B. Questo articolo e destinato ai programmatori “alle prime armi” con Objective-C e quindi ho ammesso alcune cose per focalizzare l'attenzione sul problema e la soluzione.