簡體   English   中英

iPhone內存漏水?

[英]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.

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