大号在练葵花宝典 发表于 2025-4-12 01:40:43

iOS 中的 nil、Nil、NULL、NSNull 僵尸对象和野指针

iOS 中的 nil、Nil、NULL、NSNull 僵尸对象和野指针-CSDN博客

https://i-blog.csdnimg.cn/direct/60fbd03dc16b4b539fafc19f68ec2693.png

范例含义使用场景示例nil表示一个指向 Objective - C 对象的空指针。在 Objective - C 和 Swift(与 Objective - C 交互时)中用于表示对象不存在。当一个对象变量没有指向任何有效的对象实例时使用。比方,一个UIViewController变量在没有初始化或者已经被释放后可以赋值为nil。Objective - C:
UIViewController *viewController = nil;
Swift(与 Objective - C 交互):
let viewController: UIViewController? = nilNil用于表示指向 Objective - C 类的空指针。它和nil的区别在于nil是用于对象实例,而Nil是用于类本身。在 Objective - C 中,当你须要一个类指针变量但没有具体指向某个类时使用。不外在实际开发中这种环境比较少见。Objective - C:
Class someClass = Nil;NULL在 C 和 C++ 中表示空指针,在 iOS 开发中主要用于 C 语言风格的指针。当一个指针不指向任何有效的内存所在时使用。一般用于 C 语言函数返回指针范例,而且没有有效返回值的环境。在 iOS 开发中,假如涉及到 C 语言库或者对底层内存操作(如 Core Foundation 中的部门函数)会用到。C:
void *pointer = NULL;
在 iOS 开发中(Core Foundation 示例):
CFStringRef string = NULL;NSNull是 Foundation 框架中的一个单例类,用于表示集合(如NSArray、NSDictionary)中的空值。因为nil不能直接放在集合中作为一个元素来表示 “这里有一个空值”,所以使用NSNull。当须要在集合类(如数组、字典)中表示一个有效的占位符为空的值时使用。比方,一个NSDictionary的某个键值大概是NSNull,表示这个键对应的是一个空值而不是键不存在。Objective - C:
NSArray *array = @[ @"value", ];
Swift:
let array: = ["value", NSNull()]
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: iOS 中的 nil、Nil、NULL、NSNull 僵尸对象和野指针