nev*_*ing 3 iphone cocoa memory-management objective-c
我正在重新阅读Cocoa Programming for Mac OS X的前几章,作者声明其中一个NSCalendarDate类方法返回一个自动释放的对象.我总是假设所有类方法都返回了一个自动释放的对象(因为没有alloc涉及).
您是否有必须专门保留的课程方法?
谢谢.
Joe*_*orn 22
与实例方法一样,类方法应遵循标准的Cocoa内存管理规则.
如果使用名称以"alloc"或"new"开头或包含"copy"(例如,alloc,newObject或mutableCopy)的方法创建对象,或者向其发送保留消息,则获取对象的所有权.您有责任使用release或autorelease放弃您拥有的对象的所有权.在收到对象的任何其他时间,您不得释放它.
据推测,他们正在返回一个自动释放的对象,或者对单例或类似的东西的引用.无论哪种方式,您都不需要释放对象,除非它以"alloc"或"new"开头或包含"copy".您不需要保留它,除非您希望将其保留在当前自动释放池的范围之外,方法是将其存储在iVar或类似的内容中.
| 归档时间: |
|
| 查看次数: |
4950 次 |
| 最近记录: |