2011-10-20 29 views
15

那么我已经看过类似的问题,但迄今为止还没有达到解决方案,所以我一定在做错了什么。获得NSArray长度/计数 - 目标C

本质上,我导入一个文本文件,然后将每行分割成一个数组的元素。由于文本文件将被更新等。我不会每个人都知道该文件中的确切数量的行,因此数组中有多少元素。我知道在Java中你可以做.length()等..并假定在目标C中,你可以使用'计数',但我没有运气返回我的数组长度......建议?

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

,什么是被输出为NOTHING。如“节目数量:” - 空白,就像它甚至没有计算在内。

谢谢你的帮助!

回答

16

你错过格式字符串占位符。它应该是:

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

我对这样一个可怕的错误感到非常羞愧,谢谢队友! – Didier

5

您需要使用的格式说明符打印一个整数(%d):

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

看看你的另一篇文章,看起来你是一个Java开发人员。在Java的System.out中,你只需追加变量。在Objective-C中,我建议你看看“打印格式说明符”。 Objective-C使用相同的格式。