我想知道release和dealloc之间的区别是什么?阅读后,内存管理规则(见下文).我正在考虑大部分时间我将使用发布.但是,我想知道如何处理物业.
@属性(保留)....
我一直在使用dealloc,但在阅读本文后,我不确定这是否正确.
如果使用名称以"alloc"或"new"开头或包含"copy"(例如,alloc,newObject或mutableCopy)的方法创建对象,或者向其发送保留消息,则获取对象的所有权.您有责任使用release或autorelease放弃您拥有的对象的所有权.在收到对象的任何其他时间,您不得释放它.
你永远不会直接打电话给dealloc.当对象的retainCount变为0 时,系统将调用它.每次执行retain时,retainCount都会增加1.每次执行释放时,它都会递减.这样,通过平衡保留和释放,您可以确保当retainCount达到0时,将自动调用dealloc,并释放您的对象.
正如Ben S所指出的那样,你可以调用dealloc的唯一时间和地点是继承对象的dealloc方法.
| 归档时间: |
|
| 查看次数: |
4722 次 |
| 最近记录: |