NSLog(@"%d",[annotations count]);
上面的代码与名为“annotations”的NSMutableArray一起使用。
我的问题是......这段代码究竟做了什么?
我知道NSLog
输出文本,并且它的说法注释计数..所以我认为它会输出注释数组中的元素数量。
我说错了吗?
答案 0 :(得分:3)
你可以运行代码来测试它,但是这个命令输出到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)
有关详细信息,请参阅此帖子:Size of an NSArray
答案 1 :(得分:2)
是的,你的确是正确的。 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
在阅读日志时可能会更有帮助!
答案 2 :(得分:1)
是的,它只会显示数组中对象的数量