Objective-C向nil发送消息

来源:互联网 发布:知乎 格拉摩根伯爵 编辑:程序博客网 时间:2024/04/29 02:37

 

在Objective-C中,向nil发送消息不会crash。

原因是在执行id objc_msgSend(id self, SEL op, ...) 方法时,如果self = nil,函数不执行任何有意义的操作而直接返回。

 

发送给nil对象的消息的返回值取决于方法的返回类型:

如果方法的返回值是一个对象指针,则返回nil。

如果方法的返回值是普通数据类型的指针,返回的是NULL。

如果方法的返回值是整型和浮点型时,返回0。

0 0