2011-10-20 11 views
15

Bueno, he visto problemas similares en el sitio pero no he llegado a una solución hasta ahora, así que debo estar haciendo algo mal.obteniendo NSArray longitud/recuento - Objetivo C

Básicamente, estoy importando un archivo de texto, y luego dividiendo cada línea en un elemento de una matriz. Dado que el archivo de texto se actualizará, etc. No sabré la cantidad exacta de líneas en el archivo y, por lo tanto, cuántos elementos en la matriz. Sé que en Java puedes hacer .length() etc. y supuestamente en Objective C puedes usar 'count' pero no tengo suerte devolviendo la longitud de mi array ... ¿sugerencias?

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"allshows" 
                ofType:@"txt"]; 
NSString *fileString = [NSString stringWithContentsOfFile:filePath]; 

NSArray *lines = [fileString componentsSeparatedByString:@"\n"]; 

NSUInteger *elements = [lines count]; 
NSLog(@"Number of Shows : ", elements); 

y lo que está saliendo no es nada. como en "Number of Shows:" - en blanco, como si ni siquiera contara.

¡Gracias por cualquier ayuda!

Respuesta

16

Te estás perdiendo el marcador de posición cadena de formato. Debería ser:

NSLog(@"Number of shows: %lu", elements); 
+0

Estoy muy avergonzado por un error tan terrible, gracias amigo! – Didier

5

Es necesario utilizar un especificador de formato para imprimir un número entero (%d):

NSLog(@"Number of Shows : %d", elements); 
0

En cuanto a su otra publicación, parece que es un desarrollador de Java. En System.out de Java, solo anexa las variables. En Objective-C, le sugiero que consulte "especificadores de formato de impresión". Objective-C usa el mismo formato.