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()]
相关推荐
2501_9151063236 分钟前
iOS 可分发是已经上架了吗?深入解析应用分发状态、ipa 文件上传、TestFlight 测试与 App Store 审核流程
android·ios·小程序·https·uni-app·iphone·webview
2501_916007479 小时前
HTTPS 抓包乱码怎么办?原因剖析、排查步骤与实战工具对策(HTTPS 抓包乱码、gzipbrotli、TLS 解密、iOS 抓包)
android·ios·小程序·https·uni-app·iphone·webview
2501_9160088915 小时前
HTTPS 双向认证抓包实战,原理、难点、工具与可操作的排查流程
网络协议·http·ios·小程序·https·uni-app·iphone
2501_9151063215 小时前
HTTPS 能抓包吗?实战答案与逐步可行方案(HTTPS 抓包原理、证书Pinning双向认证应对、工具对比)
网络协议·http·ios·小程序·https·uni-app·iphone
游戏开发爱好者815 小时前
App HTTPS 抓包实战,原理、常见问题与可行工具路线(开发 测试 安全 角度)
网络协议·安全·ios·小程序·https·uni-app·iphone
2501_9151063215 小时前
App HTTPS 抓包实战指南,原理、常见阻碍、逐步排查与工具组合
网络协议·http·ios·小程序·https·uni-app·iphone
CocoaKier16 小时前
苹果海外老账号续费,踩了个大坑!
ios·apple
xo198820111 天前
Xcode 26 could not locate developer disk image for this device 无法定位开发者磁盘镜像
ide·macos·xcode
2501_915106321 天前
上架 App 全流程解析,iOS 应用上架步骤、App Store 审核流程、ipa 文件上传与测试分发经验
android·ios·小程序·https·uni-app·iphone·webview