如果我有一个传递给方法的参数,我需要在方法结尾释放参数吗?您是否需要在Objective-C中释放方法的参数?
11
A
回答
66
编号认为NARC:“New Alloc Retain Copy”。如果你没有做这些事情,你不需要发布。
2
你只需要释放它们,如果你在他们的方法retain
。约定是,调用者有责任确保作为参数传递的对象至少在调用活动时一直存在。
6
请阅读Cocoa memory management guidelines。下面的规则是有关您的问题:
如果使用名称以“黄金”或“新”,或包含“复制”(例如一个方法来创建它你需要一个对象的所有权,分配, newObject或mutableCopy),或者如果您发送一个保留消息。您有责任放弃使用发行版或自动发行版所拥有的对象的所有权。任何其他时间你收到一个对象,你不能释放它。
很明显,您没有通过创建它们(在您的方法中)获取参数。所以你唯一需要担心的部分是你是否保留在方法中。如果你这样做,你必须释放或autorelease他们。如果你没有,你不能释放或自动释放它们。
0
除非您直接使用基础对象,否则您应该将所有这些委托给ARC。
相关问题
- 1. GL_TEXTUREs是否需要释放/释放?
- 2. 使用loadNibNamed:方法时是否需要释放IBOutlets?
- 3. 我是否需要释放此对象?
- 4. 是否需要释放该对象?
- 5. 我是否需要释放UITouch对象?
- 6. AJAX中的方法参数是否需要大写?
- 7. 我是否需要释放与参数jobjectArray关联的所有内存?
- 8. 是否需要includeFile()方法?
- 9. 是否可以在Eclipse中显示方法参数的注释?
- 10. 我是否需要在dealloc中释放IBOutlets?
- 11. 我是否需要在php中释放对象?
- 12. 类中的方法(而不是构造函数)是否需要参数?
- 13. 是否需要类的主要方法?
- 14. 使用PInvoke中的结构后,是否需要释放内存?
- 15. UIPageViewController设置中的viewcontrollers是否需要释放?
- 16. 为什么Camera需要在onPause()而不是onstop()方法的Activity中释放?
- 17. 您是否释放函数中返回的对象?
- 18. 您是否需要等待异步方法?
- 19. 我需要从GetNamedSecurityInfo API中释放哪些返回的参数?
- 20. 方法中是否需要“易失性”?
- 21. 是否在ObjectiveC中调用超类问题的方法?
- 22. 我是否需要从此示例中释放临时对象?
- 23. 您是否需要RESTful webservice的接口?
- 24. 是否需要验证函数参数?
- 25. 我是否需要释放由sortedArrayUsingDescriptors返回的NSArray?
- 26. 返回的localtime()结构是否需要释放?
- 27. 我是否需要释放从gtk_builder_get_object返回的对象?
- 28. 我是否需要释放一个返回的NSError对象?
- 29. 的Python:用类方法需要参数
- 30. 您是否需要发布@property?
+1首字母缩写 – 2010-05-19 15:18:42
说真的。太棒了。如果你假设一个Stooge的声音,并且在分析你的内存管理问题代码时认为“Narc narc narc”,那么运行良好... – bbum 2010-05-19 16:01:22
这就是很多代表0的问题。 – 2010-05-22 04:03:18