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