以下是我看到的情况:

NSMutableArray *controllers = [[NSMutableArray alloc] init];
for (unsigned i = 0; i < kNumberOfPages; i++) {
    [controllers addObject:[NSNull null]];
}

为什么在那个地方不是零呢?

推荐答案

直接从Apple开始:

NSNull类定义了一个单例对象,在禁止将nil作为值的情况下(通常在数组或字典等集合对象中),可以使用它来表示null值.

所以在您的示例中,这正是发生的情况,程序员 Select 将null对象放入控制器数组中,其中nil不允许作为值.

Objective-c相关问答推荐

iOS 7 表格视图无法自动调整内容插入

当我们只能使用 NSObject 时,为什么还要使用 id?

Objective-C 中的实例变量是否默认设置为 nil?

如何使用格式化占位符本地化字符串?

单元测试私有方法 - 目标 C

iOS 应用程序下一个键不会转到下一个文本字段

从 Storyboard 实例化视图控制器与创建新实例

BSXPCMessage 收到消息错误:连接中断

在 Cocoa 中你更喜欢 NSInteger 还是 int,为什么?

更改后退导航栏按钮的字体

如何在 iPhone 中将 NSData 转换为字节数组?

如何保存我的 iPhone 应用程序的用户首选项?

如何在iphone的objective-c中以编程方式调整图像大小

如何在 Objective-C (iOS) 中判断 NaN 值

Xcode 在您的 keys 串中找不到此配置文件的有效私有证书/有效密钥对

HTML 内容适合 UIWebview 而无需缩小

强制iOS应用程序崩溃的最快方法是什么?

交换 NSMutableArray 中的元素

Highlighted 和 Selected UIButton 的 State 有什么区别?

如何调整 UITableView 中原型单元格的左边距?