[英]Is this NSString a memory leak?
NSString *pDescText = @"blablabla";
pDescText = [NSString stringWithFormat:@"%@ %@",skProduct.localizedDescription,formattedPrice];
在第2行中重新分配pDescText時,這是否會產生內存泄漏?
如果使用的是ARC,則無需擔心此類泄漏。
如果您使用的是MRC,則不會出現泄漏,因為:
您只需通過發送包含new
alloc
retain
或copy
消息來釋放已收到引用的對象。 在這兩行中都沒有執行此操作,因此您沒有對pDescText
的擁有的引用。 此外,在第一行中,您使用的是字符串文字,這是您不必擔心內存管理的事情。
我不得不說這個pDescText
不是可可中變量的好名字。 我們不使用匈牙利符號(因此不需要p來指示指針),並且完整的,描述性的變量名是常態。 因此, pDescText
經驗足以滿足上下文需求,那么經驗豐富的Cocoa開發人員將使用descriptiveText
甚至productDescription
或description
代替pDescText
。
不, NSString
便利構造函數返回一個自動釋放的對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.