Objective-C中空值的不同表现形式

在Objective-C开发中,正确处理空值至关重要,包括nil、NSNull、空字符串(empty)和NaN。nil与Null虽然在用法上相似,但NSNull是个对象,需要特别处理。使用`if`判断时,要注意区分。调试时,空字符串`@""`在`po`指令下显示为空描述,而NaN在除以零的情况下产生,需要避免其扩散导致错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在开发过程中,对空值的处理是非常常见的一个操作,但稍有不当,就会造成结果异常,甚至程序崩溃。

声明一个字符串,用来接收后台对于的数据。

@property (nonatomic, strong) NSString *str;

通过情况下,我们是这样判断的

if(!self.str){
    //Do Something
}

这种情况对于nil,Null对象有绝对的过滤效果,但是NSNull确无法进入这个条件。


Null & nil

先来说一下Null, 在C语言里Null代表一个不存在的指针。

Objective-C在C的基础上又添加了一个nil,代表着一个指向一个不存在的对象的指针。

如 NSString *str = nil;

s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值