7

可能重复:
Objective-C 中的 NULL 与 nil
Objective-C:NULL、nil 和 @“” 之间有什么区别?

我有一个简单的问题,即我的目标变量中包含 NULL 值。它只是输入if 条件。我必须检查变量目标长度是否大于零并且没有空值,然后进入条件。

当我使用 NULL 或 nil 进行比较时?

谢谢

在此处输入图像描述

4

3 回答 3

5

他们是一样的。但是,通常用于nil与 objc 对象进行比较,并在分配给 objc 对象时使用。

于 2012-08-27T12:31:32.030 回答
4

假设我们谈论的是 Objective-C:

nil(全部小写)是一个指向 Objective-C 对象的空指针。

Nil(大写)是一个指向 Objective-C 类的空指针。

NULL(全部大写) 是指向其他任何内容的空指针。

于 2012-08-27T12:36:33.677 回答
1

在这种情况下,您似乎有一个值为“(null)”的字符串。当您尝试将内容附加或格式化到本身为 null 的字符串中时,可能会发生这种情况。它是一个非 NULL 或 nil 且长度为 8 个字符的有效字符串。所以它进入你的循环。

在 Objective-c 中,NULL 和 nil 是同一个东西(数字 0)。但是风格指南会告诉你对指针使用 NULL,对从 NSObject 派生的类使用 nil。

于 2012-08-27T12:34:34.743 回答