美文网首页iOS面试iOS学习开发iOS面试
iOS Runtime面试题(objc中向一个nil对象发送消息

iOS Runtime面试题(objc中向一个nil对象发送消息

作者: 程序员_秃头怪 | 来源:发表于2019-08-01 16:37 被阅读2次

objc中向一个nil对象发送消息将会发生什么?

如果向一个nil对象发送消息,首先在寻找对象的isa指针时就是0地址返回了,所以不会出现任何错误。也不会崩溃。

详解:

如果一个方法返回值是一个对象,那么发送给nil的消息将返回0(nil);

如果方法返回值为指针类型,其指针大小为小于或者等于sizeof(void*) ,float,double,long double 或者long long的整型标量,发送给nil的消息将返回0;

如果方法返回值为结构体,发送给nil的消息将返回0。结构体中各个字段的值将都是0;

如果方法的返回值不是上述提到的几种情况,那么发送给nil的消息的返回值将是未定义的。

面试题持续整理更新中,需要拿到第一手大厂面试题及答案文档可以添加 iOS进阶学习交流群:551346706 !结实人脉、讨论技术你想要的这里都有!

相关文章

网友评论

    本文标题:iOS Runtime面试题(objc中向一个nil对象发送消息

    本文链接:https://www.haomeiwen.com/subject/chrcdctx.html