2012-07-01 16 views
7

acabo de leer este fragmento de another answer:bloque de sintaxis C Objetivo

Al crear un bloque con la sintaxis ^{} ...

entiendo esta sintaxis, y lo utilizan con regularidad , sin embargo, de esto deduje que podría haber otras sintaxis que se pueden usar para crear bloques. ¿Hay? Si hay, ¿hay alguna ventaja de las diferentes sintaxis?

Respuesta

5

Al observar here Creo que las únicas diferencias son si utiliza tipos de argumentos/

+0

Esta es la respuesta concisa que estaba buscando. –

12

Si su pregunta es acerca de bloque de sintaxis literal (la utilizada para funciones anónimas), aquí es la forma general

^tipo de retorno (lista de argumentos) {expresiones}

Basado en el que, se puede omitir el tipo de retorno

^(lista de argumentos) {} expresiones

, ya que se puede deducir del tipo de devolución. Si no hay un valor de retorno, void es la elección.

Además, puede escribir

^{} expresiones

si no hay argumentos.

Esto es lo mismo que

^ void (void) { NSLog(@"Something"); } 
+0

@JoshCaswell Gracias por su formato de retorno. Se ve mejor. –

+0

¿Por qué veo que a veces el tipo es antes de '^'? – Philip007

+0

@ Philip007 Perdón, ¿qué quieres decir? No entiendo lo que estás preguntando ... –