回答
我假設你的目標是移動編譯器,否則ARC沒有被使用,那麼問題似乎是沒有意義的。
測試Disposed
屬性。
處置爲只讀屬性,顯示此對象的當前狀態。
如果已使用DisposeOf方法處理對象 ,則Disposed屬性將返回True。否則,它返回False。
但是,你甚至可能會問這個問題看起來很奇怪。也許你沒有以最好的方式解決你的問題。
什麼是downvote?我準備犯一個錯誤。 –
@DalijaPrasnikar謝謝。我正在假設移動編譯器,現在已經說明了這一點。我同意這味道不好。 –
使用'Disposed'屬性來完成超出臨時調試工具的任何事情確實是非常糟糕的編碼習慣。如果需要檢查是否用'Disposed'釋放對象,那麼代碼必須以不需要這種檢查的方式進行更改。 –
看完你的其他問題,你似乎試圖調試OSX上的內存問題,並試圖找出哪些對象已被釋放,但仍在使用。
我建議使用啓用了Full Debug模式的FastMM4。不要忘記在您的項目中部署libFastMM_FullDebugMode.dylib,以便使用FastMM4進行調試。如果您嘗試訪問已釋放的對象,則會引發異常。
除非您清除對該類的所有引用,否則對類的引用爲「活着」。 如果您不使用像DisposeOf這樣的髒方法,或者使用弱引用。
最好的方法 - 使用TDictionary。 在構造函數中添加一個類的地址,並在析構函數中刪除它。
- 1. 檢查對象是否被釋放
- 2. 如何測試一個對象是否在Delphi中被釋放
- 3. 如何檢查對象是否被釋放?
- 4. 如何檢查android.hardware.Camera是否被釋放?
- 5. in_array如何檢查一個對象是否在一個對象數組中?
- 6. 如何檢查一個對象是否是一個字符串?
- 7. Swift:如何檢查一個對象是否在數組中?
- 8. 在python中如何檢查一個對象是否有值?
- 9. 如何檢查一個對象是否在CPU緩存中?
- 10. 如何檢查一個GroupBox中是否存在對象 - VB.NET
- 11. 你如何判斷你是否需要釋放一個對象?
- 12. 檢查是否是一個對象
- 13. 釋放一個對象是否會銷燬該對象?
- 14. 如何檢查對象是否存在?
- 15. 檢查一個對象是否爲空
- 16. 檢查一個集合中是否存在一個對象(T)
- 17. 如何在KeyListener中檢查Ctrl是否被釋放?
- 18. 如何釋放一個NSManagedObject對象?
- 19. 如何檢查一個對象是否包含另一個對象?
- 20. 如何檢查對象是否是一個Vue的成分?
- 21. 如何檢查一個對象是否是Blob類型?
- 22. 如何檢查對象列表中是否存在對象?
- 23. 如何檢查對象是否在Domain對象的集合中?
- 24. 如何檢查一個對象在一個跨度中是否爲空?
- 25. 如何檢查一個對象是否存在於一個NSMutableArray中
- 26. 如何檢查兩個對象是否屬於同一個類?
- 27. 如何檢查對象是否是Cocoa中的Foundation對象?
- 28. 如何檢查一個對象是否在邏輯上是一個數組,JavaScript
- 29. 檢查一個對象是否是委託對象
- 30. 檢查Enum對象是否在另一個Enum對象之後順序檢查?
對於'TComponent'後代解決方案將使用'FreeNotification'。如果只有一個對象的引用,那麼在釋放之後將引用重置爲'nil'是另一種方法。 –
您是否可以提供有關您想要實現的內容的更多信息,以及針對移動,桌面編譯器或兩者的更多信息。 –
也許這涵蓋你所需要的東西[我如何檢測組件已被釋放?](http://stackoverflow.com/q/12499722/4267244) –