簡體   English   中英

在Objective-C中發布問題

[英]Release problems in Objective-C

我想問一下目標C中的內存管理問題。我是目標C的綠色代表。當我從Apple網站上閱讀一些示例程序時,我看到了[XXX版本]。 我猜想該語句用於釋放變量的使用。 但是,當我在程序中使用此語句時,出現了一些問題。 我使用NSLog()來顯示內容,但無法顯示內容,它顯示了有關發行版的一些聲明。

目標C是否像Java一樣具有自動內存管理功能? 或者我們需要關心程序的內存問題。

非常感謝你。

Objective-C確實具有垃圾回收(“自動內存管理”),但僅在Mac上才有。 它在iPhone上不可用。 但是, 內存管理的規則並不那么復雜。 它是:

如果給你通過一個方法(或功能)的對象包含單詞newallocretain ,或copy ,那么您必須release對象或autorelease它。

就是這樣。 如果您始終遵循此約定,那么您將有99.999%的時間會沒事。 另外0.001%的時間,請閱讀文檔(或在StackOverflow上向我們詢問!:))。

(我還要補充一點,就是文檔中說的任何與此規則相抵觸的內容都將獲勝。)

閱讀內存管理規則 只需了解一些簡單的規則,就可以告訴您所有有關Objective-C中的內存管理的知識。

你只需要調用release你的對象init / alloc自己或你的實例變量在類dealloc方法。

Objective-C確實具有自動發布池。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM