2011-01-13 416 views
1
NSString *anError = nil; 
id plist; 
plist = [NSPropertyListSerialization propertyListFromData:rawCourseArray mutabilityOption:NSPropertyListImmutable format:&format errorDescription:&anError]; 
if (anError != nil){ 

    [anError release]; 
} 

上面的代碼每次調用它時都會導致內存泄漏。我發佈了錯誤,但仍然存在泄漏。我還沒有看到這個問題的任何解決方案。我已經發布了這個,大多數人迴應說這不是泄漏。但是,在這裏看到的泄漏性能工具:令人討厭的NSPropertyListSerialization泄漏

alt text

我需要這個固定的,因爲最終我的應用程序崩潰。有任何想法嗎?非常感謝

+0

我仍然需要這種泄漏修復。有沒有另一種方法可以調用NSPropertyListSerialization? – BX69 2011-02-07 20:08:15

回答

1

我有同樣的問題。使用的propertyListWithData:選項:格式:錯誤:具有相同的結果。二手的NSDictionary initWithContentsOfFile具有相同的結果:

泄露的對象#地址大小負責任的圖書館負責幀 NSCFNumber,19 <多個> 304字節MediaToolbox FigRemote_CreatePropertyListFromBinaryPListData

FWIW - 我只有字典和數組和字符串的plist中,沒有數字。

問題不在於錯誤對象(或方法中的字符串)。這個問題不在上面,因爲它應該是autorelease。最後,我放棄了,並使用JSON並重新實現:

http://stig.github.com/json-framework/api/index.html

==>沒有更多的泄漏。

最佳, 弗雷德

+0

JSON可能是我唯一的選擇。 :^( – BX69 2011-04-04 19:49:55

0

我以前有過同樣的問題。

基本上這是因爲你的error變量沒有啓動它而被釋放。所以你可以做的是在釋放它之前嘗試將你的NSString *error初始化爲空字符串。或者根本不釋放它。

+0

嘗試了你的建議,但沒有運氣。 – BX69 2011-01-19 01:37:08