不推荐使用release方法 [英] release method deprecated
问题描述
发布方法何时发生?当我完成它时,我总是释放内存分配,现在看来该方法已被弃用。或者它可能不适用于某些对象?
When has happen to the release method? I always release a memory allocation when I am done with it and now it seems that the method has been deprecated. Or maybe it does not work for some objects?
无论如何,这就是我所做的:
Anyway, this is what I did:
Customer *aCustomer = [[Customer alloc] init];
...
[aCustomer release];
我在那里得到一个错误......任何人都在意解释为什么我现在得到错误释放我的记忆?错误消息是:
and I get an error there... Anyone care to explain why I get an error now that I release my memory? The error message is:
'release'in unavailable:自动引用中不可用
计数模式ARC禁止显式消息发送'release'
'release' in unavailable: not available in automatic reference counting mode ARC forbids explicit message send of 'release'
推荐答案
如果您启用了'ARC',那么就不要需要发布
一个对象。这将由编译器处理。 retain
, release
和 autorelease
全部由编译器处理。
If you have enabled the 'ARC', then you don't need to release
an object. That will be handled by the compiler. retain
, release
and autorelease
are all handled by the compiler.
修改:
您可以从这里
此外还有SO 主题存在。请通过那个。
Also there already a SO thread exists. Please go thru that.
这篇关于不推荐使用release方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!