2011-10-20 5 views
15

Bene, ho esaminato problemi simili sul sito ma non ho ancora raggiunto una soluzione, quindi devo fare qualcosa di sbagliato.ottenendo lunghezza/conteggio NSArray - Obiettivo C

In sostanza, sto importando un file di testo, quindi dividendo ogni riga in un elemento di un array. Poiché il file di testo verrà aggiornato ecc. Non conoscerò tutti la quantità esatta di righe nel file e quindi quanti elementi nella matrice. So che in Java puoi fare .length() ecc. E presumibilmente in Objective C puoi usare 'count' ma non ho fortuna a restituire la lunghezza del mio array ... suggerimenti?

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); 

e ciò che viene uscita è nulla. come in "Numero di spettacoli:" - vuoto, come se non contasse affatto.

Grazie per qualsiasi aiuto!

risposta

16

Stai perdendo il segnaposto stringa di formato. Dovrebbe essere:

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

Mi vergogno seriamente di un errore così terribile, grazie amico! – Didier

5

è necessario utilizzare un identificatore di formato per stampare un intero (%d):

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

Guardando il tuo altro post, sembra che tu sia uno sviluppatore Java. In System.out di Java, basta aggiungere le variabili. In Objective-C, ti suggerisco di guardare "specificatori del formato di stampa". Objective-C utilizza lo stesso formato.