在Objective-C中,向nil发送消息不会crash。
原因是在执行id objc_msgSend(id self, SEL op, ...) 方法时,如果self = nil,函数不执行任何有意义的操作而直接返回。
发送给nil对象的消息的返回值取决于方法的返回类型:
如果方法的返回值是一个对象指针,则返回nil。
如果方法的返回值是普通数据类型的指针,返回的是NULL。
如果方法的返回值是整型和浮点型时,返回0。
因篇幅问题不能全部显示,请点此查看更多更全内容