簡體   English   中英

這是NSString內存泄漏嗎?

[英]Is this NSString a memory leak?

NSString *pDescText = @"blablabla";
pDescText = [NSString stringWithFormat:@"%@ %@",skProduct.localizedDescription,formattedPrice];

在第2行中重新分配pDescText時,這是否會產生內存泄漏?

如果使用的是ARC,則無需擔心此類泄漏。

如果您使用的是MRC,則不會出現泄漏,因為:

您只需通過發送包含new alloc retaincopy消息來釋放已收到引用的對象。 在這兩行中都沒有執行此操作,因此您沒有對pDescText的擁有的引用。 此外,在第一行中,您使用的是字符串文字,這是您不必擔心內存管理的事情。

我不得不說這個pDescText不是可可中變量的好名字。 我們不使用匈牙利符號(因此不需要p來指示指針),並且完整的,描述性的變量名是常態。 因此, pDescText經驗足以滿足上下文需求,那么經驗豐富的Cocoa開發人員將使用descriptiveText甚至productDescriptiondescription代替pDescText

不, NSString便利構造函數返回一個自動釋放的對象。

暫無
暫無

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

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