0

可能重复:
为什么 NSArray arrayWithObjects 需要终止 nil?

据说我们需要始终使用 anil作为 的最后一项arrayWithObjects

NSArray *wordList = [NSArray arrayWithObjects: @"hello", @"world", nil];

为什么arrayWithObjects不能不需要nil,只需nil为我们添加。一些论坛说这是因为nil作为其他方法的哨兵......但这不是一个不应该关注类用户的实现问题吗?

例如,如果其他语言需要

 list = [1 ,2, nil]    # Ruby

要构建一个数组,可能会有些奇怪。

4

1 回答 1

1

因为自动 nil 插入需要一些语言或编译器扩展。

在可变参数列表的情况下,实现需要终止符来知道何时停止读取。

幸运的是,您的编译器支持标记属性,因此如果您出现并注意编译器警告,这应该不是问题。

于 2012-04-15T20:35:43.967 回答