www whatwg usuario spec mathworks objective-c syntax

objective c - whatwg - Para bucle en Objective-C



matlab usuario (2)

¿Quieres decir enumeración rápida? Tu pregunta es muy poco clara.

Un bucle normal para se vería un poco así:

unsigned int i, cnt = [someArray count]; for(i = 0; i < cnt; i++) { // do loop stuff id someObject = [someArray objectAtIndex:i]; }

Y un bucle con enumeración rápida, optimizado por el compilador, se vería así:

for(id someObject in someArray) { // do stuff with object }

Tenga en cuenta que no puede cambiar la matriz que está usando en la enumeración rápida, por lo tanto, no se elimina ni se agrega cuando se usa la enumeración rápida

¿Dónde debería usar el bucle for y dónde debería usar el bucle for in ?

Me gustaría saber la diferencia entre ellos.


El bucle for tradicional en Objective-C se hereda del estándar C y adopta la siguiente forma:

for (/* Instantiate local variables*/ ; /* Condition to keep looping. */ ; /* End of loop expressions */) { // Do something. }

Por ejemplo, para imprimir los números del 1 al 10, puede usar el bucle for:

for (int i = 1; i <= 10; i++) { NSLog(@"%d", i); }

Por otro lado, el bucle for in se introdujo en Objective-C 2.0 y se utiliza para recorrer en bucle los objetos de una colección, como una instancia de NSArray. Por ejemplo, para recorrer una colección de objetos NSString en una NSArray e imprimirlos todos, puede usar el siguiente formato.

for (NSString* currentString in myArrayOfStrings) { NSLog(@"%@", currentString); }

Esto es lógicamente equivalente al siguiente bucle for tradicional:

for (int i = 0; i < [myArrayOfStrings count]; i++) { NSLog(@"%@", [myArrayOfStrings objectAtIndex:i]); }

La ventaja de usar el bucle for in es, en primer lugar, que es un código mucho más limpio que ver. En segundo lugar, el compilador Objective-C puede optimizar el for for bucle, de modo que el código se ejecute más rápido que haciendo lo mismo con un bucle for tradicional.

Espero que esto ayude.