![](/img/trans.png)
[英]In Objective-C, is there a RELEASE definition besides DEBUG?
[英]Release problems in Objective-C
我想問一下目標C中的內存管理問題。我是目標C的綠色代表。當我從Apple網站上閱讀一些示例程序時,我看到了[XXX版本]。 我猜想該語句用於釋放變量的使用。 但是,當我在程序中使用此語句時,出現了一些問題。 我使用NSLog()來顯示內容,但無法顯示內容,它顯示了有關發行版的一些聲明。
目標C是否像Java一樣具有自動內存管理功能? 或者我們需要關心程序的內存問題。
非常感謝你。
Objective-C確實具有垃圾回收(“自動內存管理”),但僅在Mac上才有。 它在iPhone上不可用。 但是, 內存管理的規則並不那么復雜。 它是:
如果給你通過一個方法(或功能)的對象包含單詞new
, alloc
, retain
,或copy
,那么您必須release
對象或autorelease
它。
就是這樣。 如果您始終遵循此約定,那么您將有99.999%的時間會沒事。 另外0.001%的時間,請閱讀文檔(或在StackOverflow上向我們詢問!:))。
(我還要補充一點,就是文檔中說的任何與此規則相抵觸的內容都將獲勝。)
閱讀內存管理規則 。 只需了解一些簡單的規則,就可以告訴您所有有關Objective-C中的內存管理的知識。
你只需要調用release
你的對象init
/ alloc
自己或你的實例變量在類dealloc
方法。
Objective-C確實具有自動發布池。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.