2012-08-30 10 views
6

¿Alguien puede explicar el siguiente código?cómo declarar la función con múltiples parámetros en iOS

- (id)initWithTitle:(NSString*)title ratings:(float)rating; 

(NSString*)title = first parameter , type =string, name = title 

rating:(float)rating = ? ? ? ¿Cuál es el significado de esto?

Float es un tipo y lo que se califica en el inicio si la segunda calificación es el nombre del parámetro.

Respuesta

27

métodos de Objective-C están diseñados para ser auto documentar y toman prestado de la rica tradición de Smalltalk.

Voy a tratar de explicar lo que tenemos aquí, -(id)initWithTitle:(NSString*)title rating:(float)rating;

- (id)

Esta primera parte indica que este es un método de instancia Objective C que devuelve un objeto de identificación. el - (guion) indica que este es un método de instancia, donde + indicaría que este es un método de clase. El primer valor entre paréntesis es el valor de retorno del método.

initWithTitle:

Esta parte es una parte del nombre de mensaje. El nombre completo del mensaje en este caso es initWithTitle:rating:. El tiempo de ejecución de Objective-C toma esta información de método y la envía al receptor indicado. En C puro, esto se vería como id initWithTitle(NSString* title, float rating). Sin embargo, dado que se trata de Objective-C, se incluye información adicional en el nombre del mensaje.

(NSString*)title

Esta porción es parte de la entrada. La entrada aquí es del tipo NSString* y tiene un nombre de título de variable local.

rating:

Esta porción es la segunda parte del nombre de mensaje. Como puede ver aquí, los nombres de los mensajes se dividen para ayudar a indicar qué información está pasando al receptor. Por lo tanto, si tuviera que enviar un mensaje a myObject con las variables foo y bar, escribiría: [myObject initWithTitle:foo rating:bar]; en comparación con el estilo C++: myObject.initWithTitle(foo, bar);.

(float)rating

Esta es la última parte de la entrada. la entrada aquí es de tipo float y tiene un nombre de variable local de rating.

¡Espero que esto sea útil!

+0

Thanx mucho, es realmente una descripción descriptiva útil y detallada – Ahsan

+0

Si lo encontró útil. Marque esta como la respuesta a su pregunta (marca de verificación a la izquierda de esta publicación). Y es posible que desee considerar la posibilidad de votar esta publicación también (flecha arriba arriba del '0'). – Stunner

0

initWithTitle es un nombre de método en el objetivo-c,

title y rating son dos parámetros de initWithTitle method de tipo string y float respectivamente.

donde ratings es solo un nombre o identificador dado a la segunda parte del parámetro.

puede llamar a este método usando: [self initWithTitle:str ratings:0.5];

espero que su duda está claro ahora :)

+0

sí, es una respuesta muy breve y en mi punto ... Thanx Karunal – Ahsan

+0

si su trabajo está hecho, entonces mantenga el hábito de aceptar las respuestas ... – Krunal

0
- (id)initWithTitle:(NSString*)title ratings:(float)rating; 

en que ustedes saben que

(NSString*)title = primer parámetro, type = cadena, name = título

mismo modo

ratings:(float)rating ratings: se unió el argumento, type = float y rating es el nombre del marcador de posición en esta función.

+0

Gracias @NAZIK por ayuda !! –

Cuestiones relacionadas