Soy nuevo en Objective-C, pero por favor ayúdenme aquí.Firmas de método Objective-C. ¿Son inconsistentes?
Lo que estoy viendo es que las firmas de método en Objective-C que toman varios parámetros parecen inconsistentes.
Ejemplo:
- (void) sendEmail: (NSString *) toStr
subject:(NSString *) subjectStr
body:(NSString *) bodyStr;
OK, así que aquí tenemos 3 "parámetros" (al menos eso es lo que estoy acostumbrado a llamarlos), pero 2 de ellos tienen nombres "externos" (asunto, cuerpo) pero el primero no! ¿No hay algo mal con eso desde un punto de vista de consistencia/estilo?
Cuando llamamos a este método lo hacemos así:
[emailObj sendEmail:@"[email protected]" subject:@"testSub" body:@"this is a test"]
(Con suerte lo hice bien, recuerdo que soy nuevo en esto.)
lo tanto, el asunto y el cuerpo están claramente marcados en la llamada, pero no en la dirección "para" Parece realmente excitado para mí. ¿Por qué ese primer parámetro recibe un tratamiento especial?
Gracias, eso ayuda un poco, pero todavía no me gusta. Me gusta tener métodos cuyos nombres sean más genéricos y cuyos argumentos o parámetros proporcionen algunos de los detalles. – Fraggle
En otras palabras, si piensas en llamadas de función/método en C, C++, Java, Perl, Javascript, C#, Python, PHP, etc., el nombre del método sería típicamente sendEmail y tomaría 3 argumentos/parámetros. Esto también funciona bien cuando quieres sobrecargar tu método para que tengas una versión que demore 2 argumentos, otra que tome 3. Todos tendrán el mismo nombre de método pero solo un número diferente de argumentos. Además, creo que la mayoría de la gente no piensa en "A: B: C" como el nombre del método, aunque técnicamente puede ser. La mayoría de los libros que he visto se refieren a A como el nombre del método o lo tratan como tal. – Fraggle
Bueno, no puedo hacer nada por ti si no te gusta. Así es la vida en Objective-C. Debe indicarle a los ejecutores de Objective-C en Apple. Y, debes grabar en cenizas esos libros que se refieren a 'A' como el nombre del método. Eso es técnicamente incorrecto y solo confunde al lector. Usted eligió un libro equivocado. – Yuji