当前位置: 首页 > article >正文

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

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

类型含义使用场景示例
nil表示一个指向 Objective - C 对象的空指针。在 Objective - C 和 Swift(与 Objective - C 交互时)中用于表示对象不存在。当一个对象变量没有指向任何有效的对象实例时使用。例如,一个UIViewController变量在没有初始化或者已经被释放后可以赋值为nilObjective - 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()]

http://www.kler.cn/a/461850.html

相关文章:

  • Flutter Android修改应用名称、应用图片、应用启动画面
  • 我的博客年度之旅:感恩、成长与展望
  • Ethernet 系列(12)-- 基础学习::SOME/IP
  • 每日一学——监控工具(Grafana)
  • 机器学习之模型评估——混淆矩阵,交叉验证与数据标准化
  • 【C语言的小角落】--- 深度理解取余/取模运算
  • Disruptor 有哪些典型的使用场景?
  • Frontend - 分页(针对 python / Django )
  • SpiderFlow平台v0.5.0内置变量及自定义函数
  • AAL省电效果对比
  • trie树算法--c语言
  • 解决Spring boot集成quartz时service注入失败为null的问题
  • 【目标跟踪】checkpoint文件到底是什么?
  • 网页单机版五子棋小游戏项目练习-初学前端可用于练习~
  • 基于W2605C语音识别合成芯片的智能语音交互闹钟方案-AI对话享受智能生活
  • MySQL DBA需要掌握的 7 个问题
  • 使用 Vue CLI 创建 Vue.js 项目的详细指南
  • 【DevOps】Jenkins部署
  • Java jni调用nnom rnn-denoise 降噪
  • WebRTC的线程事件处理
  • 五、其他核心概念
  • 基于SpringBoot在线竞拍平台系统功能实现三
  • 免费的量化交易股票API有哪些局限性?
  • 人工智能-Python上下文管理器-with
  • Windows系统下Rancher安装全攻略:开启容器管理新征程
  • Oracle Dataguard(主库为 Oracle 11g 单节点)配置详解(2):配置主数据库