2011-10-20 10 views
15

私はサイト上で同様の問題を見てきましたが、これまでのところ解決策には達していないので、何か間違っている必要があります。NSArrayの長さ/カウントを取得する - 目的C

本質的には、テキストファイルをインポートしてから、各行を配列の要素に分割しています。テキストファイルは更新されるので、ファイル内の行の正確な量、したがって配列内の要素の数を知ることはありません。私はJavaであなたが.length()などを行うことができることを知っています。Objective Cでは 'count'を使うことができますが、私の配列の長さを返すことはありません。

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

とどのような出力であることは何もありません。 "Number of Shows:"のように空白で、まったくカウントしていないようです。

ありがとうございました!

答えて

16

あなたはフォーマット文字列のプレースホルダを逃しています。それは次のようにする必要があります。

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

私はこのような恐ろしい間違いで真剣に恥じています。 – Didier

5

あなたは整数(%d)を印刷する書式指定子を使用する必要があります。

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

他の投稿を見ると、Java開発者のようです。 JavaのSystem.outでは、変数を追加するだけです。 Objective-Cでは、 "print format specifiers"を見ることをお勧めします。 Objective-Cは同じ形式を使用します。

関連する問題