NSLog(@"%d",[annotations count]);
上記のコードは、「annotations」という名前のNSMutableArrayで使用されます。
私の質問は...このコードは正確に何をするのですか?
私はNSLog
出力テキストを知っています、そしてその言う注釈は重要です..それで私はそれが注釈配列の要素の量を出力すると思っています。
私は正しいですか?
これをテストするためにコードを実行することもできますが、そうです、このコマンドNSLog
は「annotations」という名前の配列のカウントに出力します。たとえば、配列にオブジェクトとインデックス0、1、2、3、および4が含まれている場合、配列のカウントは5になります。
NSArray * array = [NSArray arrayWithObjects:@"zero", @"one", @"two", @"three", @"four", nil];
NSLog(@"Number of items in my array is: %d", [array count]);//this will return (5)
詳細については、この投稿を参照してください:NSArrayのサイズ
はい、あなたは正確に正しいです。 NSLog
テキストをコンソールウィンドウにcount
出力し、配列の関数はその配列内の要素の数を出力します。
NSLogは、特別な方法でテキストを印刷します。、、、、などがある場合は常に、%i
そのシンボルを渡された変数に置き換えます。だから私がタイプした場合:%d
%f
%@
NSLog(@"Hi my name is %@. I am %i years old.", @"Sarah", 12);
コンソールは次のように出力します。
Hi, my name is Sarah. I am 12 years old.
したがって、あなたの例では、注釈に10個の要素がある場合、10
単にコンソールに出力されます。ただし、単にたくさんの数字を印刷すると、混乱する可能性があります。したがって、NSLogの柔軟性を使用すると、次のようにすると、ログ出力を読みやすくなります。
NSLog(@"Elements in annotations array: %d", [annotations count]);
次に、これはコンソールに出力されます。
Elements in annotations array: 10
これは、ログを読み返すときに役立つ場合があります。
はい、配列内のオブジェクトの数を表示するだけです