我正在重读《Mac OS X 的 Cocoa 编程》的前几章,作者指出其中之一NSCalendarDate
的类方法返回一个自动释放的对象。我总是假设所有类方法都返回一个自动释放的对象(因为没有alloc
涉及)。
是否有必须专门保留的类方法?
Thanks.
类方法,就像实例方法一样,应该遵守标准Cocoa内存管理规则.
如果您满足以下条件,您就拥有了一个对象的所有权:
使用其名称的方法创建它
以“alloc”或“new”开头或
包含“复制”(例如,分配,
newObject 或 mutableCopy),或者如果您
向其发送一条保留消息。你是
负责放弃
您拥有的对象的所有权
释放或自动释放。其他任何时间
你收到一个物体,你不能
释放它。
据推测,它们正在返回一个自动释放的对象,或者对单例的引用或类似的东西。无论哪种方式,您都不需要释放该对象,除非它以“alloc”或“new”开头或包含“copy”。您不需要保留它,除非您希望通过将其存储在 iVar 或类似的东西中来使其超出当前自动释放池的范围。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)