当发布一个可能存在或不存在的实例时,我通常会这样写:
if(object!= nil)[object release];
但是因为向nil发送消息不是问题,那有条件的必要吗?
我想问题归结为:使用更多开销,将对象与nil进行比较,或者发送nil消息?
当我编写比Obj-C更多的C++代码时,我总是会编写代码来检查nil- 因为这是一个自己的注释,允许这个指针nil.现在,我让它objc_msgSend处理它,因为我已经变得更加舒服地阅读代码,假设任何指针都可以有效nil.
在"安全编码"级别上,我认为nil在每次发布后始终设置指针更为重要(可能release在dealloc方法中排除了一个).这样,您可以确保指针永远无效(它有效,或者nil).
| 归档时间: |
|
| 查看次数: |
4108 次 |
| 最近记录: |