nil和release的作用与使用

迁移自开源中国

对于一个指向对象的变量,它里面存储的是一个地址,一个指向内存中某块区域的地址。

nil:的作用就是将这个变量置为空,不指向任何地址。

release:的作用是将这个变量指向的内存中的对象的引用计数减一,直到引用计数为零时释放这块内存。

所以,如果你只是做了nil操作,那么就会引起内存泄露的问题,因为它永远也不会做release操作了。

如果你只是做了release操作,那么就有可能引起crash,原因就是只是release(我认为这个对象已经被释放)而没有将变量置为空,当你再对这个变量做操作时就会引起问题,因为你在对一个不存在的对象做操作。

所以建议,不再需要一个对象时,除了要做release操作以外还要做nil操作。

NSString *str; 此时str指向当前对象。所以对它的操作要小心,建议:NSString *str = nil;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容