2011-01-13 91 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