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()]
相关推荐
HH思️️无邪10 小时前
Flutter-插件 scroll-to-index 实现 listView 滚动到指定索引位置
android·flutter·ios
TripleEyeAline1 天前
Swift Combine 学习(七):实践应用场景举例
ios·swift·响应式编程
Nick56831 天前
User Script Sandboxing作用 及 在iOS项目中获取GitCommitHash
ios·职场和发展·蓝桥杯
青花瓷1 天前
一个最简单的ios程序(object_c)的编写
ios·objective-c
卡卡西Sensei1 天前
【鸿蒙NEXT】鸿蒙里面类似iOS的Keychain——关键资产(@ohos.security.asset)实现设备唯一标识
ios·华为·harmonyos
あjdc2 天前
基于汇编实现 hook objc_msgSend,统计方法耗时的方案
汇编·macos·ios·objective-c·cocoa
二流小码农2 天前
鸿蒙开发:自定义一个英文键盘
android·ios·harmonyos
二流小码农2 天前
鸿蒙开发:自定义一个股票代码选择键盘
android·ios·harmonyos
二流小码农2 天前
鸿蒙开发:文本合成语音
android·ios·harmonyos
搜狐技术产品小编20232 天前
iOS Masonry对包体积的影响
ios