Tamaño de un NSArray

¿Cómo obtiene el tamaño de un NSArray e imprime en la console usando NSLog ?

 int size = [array count]; NSLog(@"there are %d objects in the array", size); 

Una respuesta a otra respuesta:

No puede get el tamaño de la matriz en megabytes, al less no sin hacer un vudú C difícil y no compatible. NSArray es un clúster de class, lo que significa que no sabemos cómo se implementa internamente. De hecho, la implementación utilizada puede cambiar según cuántos elementos estén en la matriz . Además, el tamaño de la matriz es inconexo del tamaño de los objects a los que hace reference la matriz, ya que esos objects viven en otra parte del montón. Incluso la estructura que contiene los pointers de object no es técnicamente "parte" de la matriz, ya que no necesariamente se llama al lado del NSArray real en el montón.

Si quiere que el tamaño de la matriz se estructure, bueno, eso es aparentemente solo 4 bytes:

 NSLog(@"Size: %d", sizeof(NSArray)); 

Huellas dactilares:

 2010-03-24 20:08:33.334 EmptyFoundation[90062:a0f] Size: 4 

(De acuerdo, esa no es una representación decente, ya que NSArray probablemente sea solo una interfaz abstracta para otro tipo de object, por lo general algo así como un NSCFArray . Si miras en NSArray.h , verás que un NSArray no tiene variables de instancia. Pretty Extraño para algo que se supone que contiene otros objects, ¿eh?)

* Por "no compatible" me refiero a "no recomendado", "ahondar en el misticismo interno de los grupos de classs" y "API indocumentada y privada, si es que existe"

El tamaño se puede determinar enviando 'count' a la instancia de NSArray, y la printing en la console se puede hacer a través de NSLog (), por ejemplo:

 NSArray * array = [NSArray arrayWithObjects:@"one", @"two", @"three", nil]; NSLog(@"array size is %d", [array count]); 

Echa un vistazo a esta publicación para tu pregunta sobre el tamaño de la matriz

Longitud de una matriz en el objective C

Use NSLog para escribir en la console …

 NSLog(@"The array size is %@", arraySize); 

En Swift 4

Vamos a = ["a", "b"]

a.count // 2