可可内存管理规则

时间:2010-07-06 12:47:00

标签: cocoa cocoa-touch memory-management

Cocoa“内存管理编程指南”文档说:

  

如果使用名称以“alloc”或“new”开头或包含“copy”(例如,alloc,newObject或mutableCopy)的方法创建对象,或者如果发送它,则获取对象的所有权保留信息。您有责任使用release或autorelease放弃您拥有的对象的所有权。在收到对象的任何其他时间,您都不能释放它。

这是否也适用于[NSNumber numberWithFloat:]或[CAAnimation animation]等便利方法?我应该释放这些吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

对于方便方法,特别是最后一句

,该陈述仍然适用
  

任何其他时间你收到一个物体,   你不能释放它。

这意味着您必须释放这些对象,除非您事先明确地向他们发送保留消息。

答案 1 :(得分:1)

这些方法名称不以allocnew开头,也不包含copy,也不是retain。所以,不,你没有这些方法返回的对象,所以你不应该释放它们。