实际上这个问题非常简单。 Xcode建议最后一项是“零”,我想知道为什么。可能重复:
NSArray creation with variable argument lists in Objective-C
array1 = [[NSArray alloc] initWithObjects: @"one", @"two", @"three", @"four", nil];
答案 0 :(得分:1)
null-termination(nil)字符用于确定数组的长度。无法正确终止数组可能导致缓冲区溢出和其他未定义的行为。
答案 1 :(得分:0)
除了重定向到关于NSArray initWithObjects的文档之外,值得注意的是,通常情况下,使用可变函数(即采用可变数量参数的函数),要么预先指定参数的数量,要么以某种方式终止参数列表。 Nil是终止参数列表的好方法,是initWithObjects
采用的方法。