gpt4 book ai didi

objective-c - 在 Objective-C 中,为什么 arrayWithObjects 不自动将 nil 添加到列表末尾?

转载 作者:行者123 更新时间:2023-12-03 17:58:23 25 4
gpt4 key购买 nike

Possible Duplicate:
Why does NSArray arrayWithObjects require a terminating nil?

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

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

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

例如,如果其他语言需要

 list = [1 ,2, nil]    # Ruby

构建一个数组,可能有点奇怪。

最佳答案

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

对于可变参数列表,实现需要终止符来知道何时停止读取。

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

关于objective-c - 在 Objective-C 中,为什么 arrayWithObjects 不自动将 nil 添加到列表末尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10165794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com