0
A
回答
3
请阅读Cocoa Memory Management Guide,内存管理是你应该完全理解的东西。 (并不难。)如果你在一个方法中声明一个变量,你在dealloc
中没有指向它的指针,所以你不能在那里释放它 - 你只能在它超出范围之前释放它。另一个问题是,如果你应该释放它。这取决于它是基于堆栈,自动释放还是保留变量:
float foo[] = {1, 2, 3}; // stack-based, no releasing necessary
NSString *foo = [NSString stringWithFormat:…]; // autoreleased, you must not release it
NSString *foo = [[NSString alloc] initWith…]; // retained, you must release it
2
你需要在release
它本地 - 假设你创建它alloc
/new
/copy
或retain
它。 (如果你只是在没有分配或保留的情况下从其他地方得到它,那么它不属于你,你根本不应该释放)。
否则,一旦它超出本地范围,就无法访问指针和对象会泄漏。
+0
感谢您的快速回复 – sregorcinimod
-1
相关问题
- 1. 我是否需要释放局部变量?
- 2. 我们需要释放常量吗?
- 3. 我需要释放CFError吗?
- 4. OpenGLES释放需要返回的变量
- 5. 你需要释放NSData吗?
- 6. 它需要释放AVCaptureVideoPreviewLayer吗?
- 7. PHP在函数结束后立即释放局部变量吗?
- 8. 是否需要局部变量?
- 9. 局部变量需要最终声明
- 10. 在德尔福2009年,我需要释放变体数组吗?
- 11. 我必须释放这个变量吗?
- 12. 目标c:使用它释放内存后需要将局部变量设置为零吗?
- 13. 我需要全局变量还是R.string.x可以吗?
- 14. 我需要防止局部变量操作。在方法范围
- 15. 需要释放QList内容吗?
- 16. 需要使用JNI释放jboolean吗?
- 17. does XMLDOMNodePtr :: get_text()需要明确释放吗?
- 18. 我可以使用“malloc”作为局部变量来返回局部变量吗?
- 19. 我需要释放我修改并返回的JNI数组吗?
- 20. 当局部变量不再存在时,mysql_query会释放内存吗?
- 21. GL_TEXTUREs是否需要释放/释放?
- 22. 在使用realloc之前需要释放一个指针变量吗?
- 23. 如何释放局部变量拥有的资源?
- 24. 函数结束时,它的局部变量是否被释放?
- 25. 为什么不能释放局部变量?
- 26. objective-c何时应该释放静态局部变量
- 27. 如何释放局部变量的动态分配内存?
- 28. 在返回之前释放局部变量?
- 29. 我需要释放由_Type :: get_FullName
- 30. 我是否需要释放UITouch对象?
谢谢 - 这就是我需要的答案 – sregorcinimod