相当多的人似乎使用了诸如此类的宏
#define SAFE_RELEASE(X) [X release]; X = nil;
(包括我自己).
我一直在重新评估我为什么要使用它并希望画出一些意见.
使用这个宏的目的(我认为)是这样的,如果你在释放后不小心使用你的对象,那么你就不会得到一个糟糕的访问异常,因为当对象为零时,objective-c会很乐意忽略它.
令我感到震惊的是,这有可能掩盖一些不起眼的错误.当你再次尝试使用X时,程序实际上可能会崩溃.在测试期间,您可以找到问题并改进代码.
这个宏是否鼓励懒惰编程?
思考?
解决方法
原文地址:https://www.jb51.cc/c/111413.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。