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

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.lryc.cn/news/511741.html

相关文章:

  • 【优选算法】有效三角形的个数(双指针算法)
  • 中介者模式(Mediator Pattern)、桥接模式(Bridge Pattern) 和 策略模式(Strategy Pattern)
  • 客户案例:基于慧集通打通聚水潭电商ERP与用友U8系统集成之路
  • 阿里云clb是什么
  • 【Cursor编辑器】自用经验和实操(迭代更新)
  • 【学习笔记】ChatGPT原理与应用开发——基础科普
  • 基于Web的实验中心工作管理网站的设计与实现
  • docker 安装minio
  • ubuntu下ipmi的使用(4028)
  • 周记-唐纳德的《计算机程序设计艺术》
  • 极品飞车6的快捷键与车辆等级
  • 计算机毕业设计Python+知识图谱大模型AI医疗问答系统 健康膳食推荐系统 食谱推荐系统 医疗大数据 机器学习 深度学习 人工智能 爬虫 大数据毕业设计
  • 纯真社区版IP库CZDB数据格式使用教程
  • Linux(Centos 7.6)软件包安装
  • [WASAPI]音频API:从Qt MultipleMedia走到WASAPI,相似与不同
  • 【畅购商城】微信支付之支付模块
  • 网络安全专有名词详解_2
  • 【传感器技术与应用】第2章 基本电量传感器,电位器式传感器,电感式传感器,电容式传感器
  • 【day20】集合深入探讨
  • 【英语语法】用must表对过去推测时,要用完成时must have been / must have done(不能直接用过去时)
  • 数值计算期末考试重点(一)(黄云清版教材)
  • 使用 pushy 热更新后 sentry 不能正常显示源码
  • IntelliJ IDEA 远程调试
  • Java实现简单爬虫——爬取疫情数据
  • 大数据技术-Hadoop(一)Hadoop集群的安装与配置
  • 04.HTTPS的实现原理-HTTPS的混合加密流程
  • flutter插件开发-ios
  • 【AI日记】24.12.29 kaggle 比赛 2-17
  • 设计模式-创建型-工厂方法模式
  • 解决opencv在windows环境下读取中文图片名问题