Tengo una función de este modo:Pasando nueva estructura como parámetro
- (void)addBalloon:(COLOR)color:(VELOCITY)velocity:(LOCATION)location
donde el color es una enumeración, y la velocidad y la ubicación son estructuras definidas en unas constantes de cabecera del archivo ..
velocidad y ubicación tanto almacena dos entradas, x e y.
Cuando se llama a este método, yo lo llamaría así:
VELOCITY vel;
LOCATION loc;
vel.x = 100.0;
vel.y = 0.0;
loc.x = 10.0;
loc.y = 10.0;
[self addBalloon:Red:vel:loc];
Pero para mí, esto parece desorganizado. Me gustaría llamar a la función directamente en una línea al crear la estructura en la línea.
Aquí está mi pregunta: No estoy seguro si esto se puede hacer usando #define ... pero si no puede .. es la única opción viable que crea una función que devuelve VELOCITY o LOCATION y toma entradas x, y y?
me gustaría hacer algo como lo siguiente:
[self addBalloon:Red:VELOCITY(100.0, 0.0):LOCATION(10.0, 10.0)];
favor tienen texto entre el colones. ¿Ves cómo no tienes parte del nombre del método antes de cada dos puntos? En ningún lugar del SDK ocurre esto, así que no debes hacerlo tú mismo. (http://i.stack.imgur.com/DCu5T.png) –