12、Objective-C 中的 nil 与基本值处理

Objective-C 中的 nil 与基本值处理

1. 与 nil 为友

在 Objective-C 里,向 nil 发送消息通常不会有实际动作,但这并不意味着参数不会产生副作用。在消息被分发之前,消息的参数会被组装并压入栈中。参数表达式里发送的消息或者其他副作用(像值的后自增操作)依旧会出现。明确将接收者与 nil 进行比较,若相等就跳过消息,其中一个原因就是为了避免组装参数时产生不必要的副作用。

1.1 nil 返回零值

只要调用者期望消息返回表 7 - 1 里的某种变量类型,nil 接收者总会向调用者返回 nil 或者 0。兼容的变量类型本质上是任意指针或者标量。

返回类型 返回值
id nil
任意类型的指针 NULL
BOOL NO
(unsigned) char ‘\0’
(unsigned) int 0
(unsigned) long int 0L
(uns
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值