2011-10-20 16 views
15

Sitede benzer sorunlara baktım ama şu ana kadar bir çözüme ulaşmadım, bu yüzden yanlış bir şey yapmam gerekiyor.alma NSArray uzunluğu/sayımı - Hedef C

Esasen, bir metin dosyası alıyorum ve her satırı bir dizinin bir elemanına bölerim. Metin dosyası vb. Güncelleneceğinden, dosyadaki satırların tam sayısını ve dolayısıyla dizideki kaç öğeyi bilmeyeceğim. Java'da biliyorum. .glengi() vb. Yapabilirsin ve sözde C nesnesinde 'sayımı' kullanabilirsin ama dizimin uzunluğunu döndüren hiç şansım yok ... Önerilerim?

NSString *fileString = [NSString stringWithContentsOfFile:filePath]; 

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

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

ve çıkış olmak HİÇBİR ne olduğudur

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"allshows" 
                ofType:@"txt"]; 
. "Gösteri Sayısı:" gibi - boş, hiç sayılmadı gibi.

Yardımlarınız için teşekkür ederiz!

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

cevap

16

Sen biçim dizesi yer tutucu eksik:

+0

Ciddi bir hataya çok utanıyorum, teşekkürler dostum! – Didier

5

Sen bir tamsayı (%d) yazdırmak için bir format tanımlayıcı kullanmak gerekir. Olması gereken:

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

Diğer yazıcınıza baktığınızda, bir Java geliştiricisi gibi görünüyorsunuz. Java'nın System.out dosyasında, sadece değişkenleri eklersiniz. Objective-C'de "baskı formatı belirleyicilerine" bakmanızı öneririm. Amaç-C aynı formatı kullanır.