可能重复:
Objective-C 中的 NULL 与 nil
Objective-C:NULL、nil 和 @“” 之间有什么区别?
我有一个简单的问题,即我的目标变量中包含 NULL 值。它只是输入if 条件。我必须检查变量目标长度是否大于零并且没有空值,然后进入条件。
当我使用 NULL 或 nil 进行比较时?
谢谢
可能重复:
Objective-C 中的 NULL 与 nil
Objective-C:NULL、nil 和 @“” 之间有什么区别?
我有一个简单的问题,即我的目标变量中包含 NULL 值。它只是输入if 条件。我必须检查变量目标长度是否大于零并且没有空值,然后进入条件。
当我使用 NULL 或 nil 进行比较时?
谢谢
他们是一样的。但是,通常用于nil
与 objc 对象进行比较,并在分配给 objc 对象时使用。
假设我们谈论的是 Objective-C:
nil
(全部小写)是一个指向 Objective-C 对象的空指针。
Nil
(大写)是一个指向 Objective-C 类的空指针。
NULL
(全部大写) 是指向其他任何内容的空指针。
在这种情况下,您似乎有一个值为“(null)”的字符串。当您尝试将内容附加或格式化到本身为 null 的字符串中时,可能会发生这种情况。它是一个非 NULL 或 nil 且长度为 8 个字符的有效字符串。所以它进入你的循环。
在 Objective-c 中,NULL 和 nil 是同一个东西(数字 0)。但是风格指南会告诉你对指针使用 NULL,对从 NSObject 派生的类使用 nil。