[英]iPhone memory leaking?
非常快速的問題正在推動我的INSANE。 我想知道是否有人能告訴我為什么這條線路正在泄漏?
NSString *post = [NSString stringWithFormat:@"<someXML><tagWithVar=%@></tagWithVar></someXML>",var];
post = [NSString stringWithFormat:@"xmlValue=%@",(NSString *)CFURLCreateStringByAddingPercentEscapes(
NULL,
(CFStringRef)post,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8 )];
我只是將字符串編碼為URL格式。 根據我的理解,stringWithFormat:應該返回一個自動釋放的對象。 顯然事實並非如此。 它有效,但泄漏。 有任何想法嗎??
您正在使用CFURLCreateStringByAddingPercentEscapes
方法。 如果Core Foundation函數的名稱中包含“Create”,則表示您擁有返回的對象。 換句話說,您需要釋放CFStringRef
返回的CFURLCreateStringByAddingPercentEscapes
。
NSString *post = [NSString stringWithFormat:@"...", var];
CFStringRef stringRef = CFURLCreateStringByAddingPercentEscapes(...);
post = [NSString stringWithFormat:@"xmlValue=%@",(NSString *)stringRef];
CFRelease(stringRef);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.