varias superponer studio modificar lineas graficos graficas ejes objective-c syntax parameters methods

objective c - superponer - ¿Cómo paso múltiples parámetros en Objective-C?



superponer graficas en r (6)

Debe delimitar cada nombre de parámetro con un ":" como mínimo. Técnicamente, el nombre es opcional, pero se recomienda para su legibilidad. Entonces podrías escribir:

- (NSMutableArray*)getBusStops:(NSString*)busStop :(NSSTimeInterval*)timeInterval;

o lo que sugeriste:

- (NSMutableArray*)getBusStops:(NSString*)busStop forTime:(NSSTimeInterval*)timeInterval;

He leído varios artículos sobre la sintaxis del método Objective-C, pero supongo que no entiendo varios nombres para un método.

Estoy intentando crear un método llamado getBusStops con parámetros NSString y NSTimeInterval y un tipo de retorno de NSMutableArray . Así es como he construido el método, pero obviamente obtiene errores en tiempo de ejecución:

- (NSMutableArray *)getBusStops:(NSString *)busStop (NSTimeInterval *)timeInterval;

Vi otro ejemplo con un método:

-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component

No entiendo por qué este método tiene un nombre de método para cada parámetro. Debería hacer lo mismo con algo como:

- (NSMutableArray *)getBusStops:(NSString *)busStop forTime:(NSTimeInterval *)timeInterval


El texto antes de cada parámetro es parte del nombre del método. De su ejemplo, el nombre del método es en realidad

-getBusStops:forTime:

Cada: representa un argumento. En una llamada a método, el nombre del método se divide en: s y los argumentos aparecen después de: seg

[getBusStops: arg1 forTime: arg2]


Objective-C no tiene parámetros con nombre, por lo que todo en el lado izquierdo de dos puntos es parte del nombre del método. Por ejemplo,

getBusStops: forTime:

es el nombre del método. El nombre está dividido por lo que puede ser más descriptivo. Simplemente puedes nombrar tu método

getBusStops: :

pero eso no dice mucho sobre el segundo parámetro.


Sí; la sintaxis del método Objective-C es así por un par de razones; uno de estos es para que quede claro cuáles son los parámetros que está especificando. Por ejemplo, si está agregando un objeto a un NSMutableArray en un índice determinado, lo haría utilizando el método:

- (void)insertObject:(id)anObject atIndex:(NSUInteger)index;

Este método se llama insertObject:atIndex: y está claro que un objeto se está insertando en un índice especificado.

En la práctica, agregando una cadena "Hello, World!" en el índice 5 de una NSMutableArray llamada NSMutableArray se llamaría de la siguiente manera:

NSString *obj = @"Hello, World!"; int index = 5; [array insertObject:obj atIndex:index];

Esto también reduce la ambigüedad entre el orden de los parámetros del método, asegurándose de pasar primero el parámetro del objeto y luego el parámetro del índice. Esto se vuelve más útil cuando se usan funciones que toman una gran cantidad de argumentos y reduce el error al pasar los argumentos.

Además, la convención de denominación de métodos es tal porque Objective-C no admite sobrecarga; sin embargo, si desea escribir un método que realiza el mismo trabajo pero toma diferentes tipos de datos, esto puede lograrse; tomar, por ejemplo, la clase NSNumber ; esto tiene varios métodos de creación de objetos, que incluyen:

  • + (id)numberWithBool:(BOOL)value;
  • + (id)numberWithFloat:(float)value;
  • + (id)numberWithDouble:(double)value;

En un lenguaje como C ++, simplemente sobrecargaría el método numérico para permitir el paso de diferentes tipos de datos como argumento; sin embargo, en Objective-C, esta sintaxis permite implementar varias variantes diferentes de la misma función, cambiando el nombre del método para cada variante de la función.


para crear el método:

-(void)mymethods:(NSString *)aCont withsecond:(NSString *)a-second { //method definition... }

para llamar al método:

[mymethods:self.contoCorrente withsecond:self.asecond];


(int) add: (int) numberOne plus: (int) numberTwo ; (returnType) functionPrimaryName : (returnTypeOfArgumentOne) argumentName functionSecondaryNa

yo:

(returnTypeOfSecontArgument) secondArgumentName ;

como en otros idiomas usamos la siguiente sintaxis void add(int one, int second) pero la forma de asignar argumentos en OBJ_c es diferente como se describió anteriormente