2010-04-13 19 views
9

¿Cómo llamar a una función en Objective C? Por ejemplo:¿Cómo llamo a una función de Objective C?

defino la función de cabecera (.h):

-(void)abc 

e implementar esta función en el archivo de aplicación (archivo .m):

-(void)abc 
{ 
//..... 
///.... 
} 

Ahora, ¿cómo iba a hacerlo llamar a esta función desde donde lo necesito?

Respuesta

2

Este es un método de alguna clase. Si la clase se llama Foo, que podría ser algo como esto:

Foo* foo = [[Foo alloc] init]; 
[foo abc]; 
20

llamar a este método desde dentro de la misma clase que llamarían:

[self abc]; 

Para llamar de otra clase, suponiendo que tiene una referencia a una instancia de esa clase que usted llamaría:

[instance abc]; 

Si tiene parámetros en el método, para el primer parámetro que declararía como (suponiendo que es una cadena):

- (void) abc : (NSString *)param1; 

y llamarlo como:

[self abc:@"Yoop"]; 

Todos los siguientes parámetros deben tener un nombre. Así por ejemplo, si hay dos parámetros que se declararían como:

- (void) abc : (NSString *)param1 paramName2:(NSString *)param2; 

esto se llamaría como:

[self abc:@"Yoop" paramName2:@"Woop"]; 

Sin embargo, toma un poco de tiempo para acostumbrarse al principio, pero hay método a la locura! En la terminología de Objective-C realmente no estás llamando al método, estás pasando un mensaje. Esta es una buena entrada en el blog describiendo las diferencias: Cocoa with Love

discuto esto aquí: What's with the square brackets (calling methods)

1

Es demasiado fácil simplemente escribir

[self function]; 
Cuestiones relacionadas