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.
因此,在您的示例中,如果 annotations 有 10 个元素,10
则将简单地打印到控制台。如果您只是打印一堆数字,这可能会让人感到困惑!因此,使用 NSLog 的灵活性,如果你这样做会更容易阅读你的日志输出:
NSLog(@"Elements in annotations array: %d", [annotations count]);
然后这将打印到您的控制台:
Elements in annotations array: 10
在阅读您的日志时,这可能会更有帮助!
是的,它只会显示数组中对象的数量