objective example iphone objective-c cocoa cocoa-touch

iphone - objective - swift dictionary example



Cómo crear un Array of Strings en Objective c para iphone (4)

¿Quieres una matriz con nueve cuerdas en ella?

[NSArray arrayWithObjects: @"1", @"2", @"3", @"4", @"5", @"6", @"7", @"8", @"9", nil]

Estoy intentando crear una serie de cadenas que pueden ser aleatorias y limitadas a un cierto número de cadenas.

Si la matriz pudiera ser aleatoria, podría elegir las primeras x cadenas y eso funcionaría bien.

Estoy tratando de usar un código como este actualmente

NSString *statements[9]; statements[0] = @"hello";

Esto parece funcionar pero la matriz parece estar llena de datos de basura.

¿Puede alguien ayudarme en la dirección correcta? (¿Se está haciendo la asignación de memoria de manera incorrecta?

Gracias


A partir de Xcode 4.4, puede utilizar Array Literals, que son mucho más limpios y fáciles de leer. Ya no necesitas incluir ''nil''. Por ejemplo:

NSArray *myArray = @[@"1", @"2", @"3", @"4", @"5"];


Solo una sugerencia, no es necesario barajar el contenido de la matriz. Solo aleatoriza el acceso. Para cada carta que quieras escoger del mazo, elige un número aleatorio y selecciona la carta en ese índice. Luego, tome la tarjeta superior y colóquela donde estaba la tarjeta que acaba de recoger.

Sin embargo, si realmente desea ordenar la matriz, puede hacerlo con muy poco código usando - sortedArrayUsingSelector: donde su método de comparación devuelve NSOrderedAscending o NSOrderedDescending al azar.


Todos los arreglos automáticos de C como ese estarán llenos de basura hasta que los llenes. Mientras no se llene de basura más tarde, todo funciona como se espera. Sin embargo, Cocoa incluye la clase NSArray, que es más común de usar para arreglos de objetos (ya que realiza una gestión de memoria adecuada y funciona con el resto del marco y todo eso).