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

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

类型 含义 使用场景 示例
nil 表示一个指向 Objective - C 对象的空指针。在 Objective - C 和 Swift(与 Objective - C 交互时)中用于表示对象不存在。 当一个对象变量没有指向任何有效的对象实例时使用。例如,一个UIViewController变量在没有初始化或者已经被释放后可以赋值为nil Objective - C: UIViewController *viewController = nil; Swift(与 Objective - C 交互): let viewController: UIViewController? = nil
Nil 用于表示指向 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 框架中的一个单例类,用于表示集合(如NSArrayNSDictionary)中的空值。因为nil不能直接放在集合中作为一个元素来表示 "这里有一个空值",所以使用NSNull 当需要在集合类(如数组、字典)中表示一个有效的占位符为空的值时使用。例如,一个NSDictionary的某个键值可能是NSNull,表示这个键对应的是一个空值而不是键不存在。 Objective - C: NSArray *array = @[ @"value", [NSNull null] ]; Swift: let array: [Any] = ["value", NSNull()]
相关推荐
Mr.NickJJ11 小时前
Swift系列02-Swift 数据类型系统与内存模型
开发语言·ios·swift
二流小码农12 小时前
鸿蒙开发:wrapBuilder传递参数
android·ios·harmonyos
火柴就是我14 小时前
flutter rust bridge 编译成so 文件 或者 .a文件 依赖到主项目
flutter·ios·rust
YungFan15 小时前
iOS开发之网络代码进化史
ios·swift
SunshineBrother20 小时前
shell脚本,怎么查找项目中的重复图片
ios
月未央20 小时前
HarmonyOS Next 开发系列:Provider和Consumer状态修饰器实践
ios·harmonyos
LinXunFeng1 天前
Flutter - iOS编译加速
flutter·xcode·apple
AskHarries2 天前
Spring Boot中对接Twilio以实现发送验证码和验证短信码
ide·macos·xcode
北京自在科技2 天前
【Find My功能科普】防盗黑科技如何改变生活?
科技·ios·生活·findmy
邓小乐2 天前
xcode集成deepseek插件实现AI编程
xcode