当前位置:  开发笔记 > IOS > 正文

在发送发布消息之前检查是否为零?

如何解决《在发送发布消息之前检查是否为零?》经验,为你挑选了2个好方法。

当发布一个可能存在或不存在的实例时,我通常会这样写:

if(object!= nil)[object release];

但是因为向nil发送消息不是问题,那有条件的必要吗?

我想问题归结为:使用更多开销,将对象与nil进行比较,或者发送nil消息?



1> shek..:

看到这个页面解释了将消息传递给nil(概括你的例子)是完全没问题的.

至于什么有更多的开销,任何性能影响将对系统的整体性能可忽略不计(不要养成过早优化的习惯).



2> Matt Gallagh..:

当我编写比Obj-C更多的C++代码时,我总是会编写代码来检查nil- 因为这是一个自己的注释,允许这个指针nil.现在,我让它objc_msgSend处理它,因为我已经变得更加舒服地阅读代码,假设任何指针都可以有效nil.

在"安全编码"级别上,我认为nil在每次发布后始终设置指针更为重要(可能releasedealloc方法中排除了一个).这样,您可以确保指针永远无效(它有效,或者nil).

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有