Ipad 尝试覆盖内容后NSDictionary内存泄漏

Ipad 尝试覆盖内容后NSDictionary内存泄漏,ipad,memory,Ipad,Memory,正在尝试查找内存泄漏。我将它追溯到一个合成的NSDictionary,它用于存储启动时从documents文件夹读入的plist数据。第一次运行时,没有泄漏。但后来在应用程序中,我做了一个网络调用,覆盖了nsdictionary对象,这就是我看到漏洞的地方 更新工作正常,但在仪器中,我发现在覆盖NSDictionary时存在漏洞 在将合成的NSDictionary设置为新内容之前,我尝试了标准版本和nil。不知道下一步该做什么 通常我会马上在这里找到我想要的答案。但这件事让我难堪 NSData

正在尝试查找内存泄漏。我将它追溯到一个合成的NSDictionary,它用于存储启动时从documents文件夹读入的plist数据。第一次运行时,没有泄漏。但后来在应用程序中,我做了一个网络调用,覆盖了nsdictionary对象,这就是我看到漏洞的地方

更新工作正常,但在仪器中,我发现在覆盖NSDictionary时存在漏洞

在将合成的NSDictionary设置为新内容之前,我尝试了标准版本和nil。不知道下一步该做什么

通常我会马上在这里找到我想要的答案。但这件事让我难堪

NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:plistPath];


Hubplist = (NSDictionary *)[NSPropertyListSerialization
                                      propertyListWithData:plistXML
                                      options:NSPropertyListImmutable
                                      format:&format
                                      error:NULL];

如果您在任何位置保留或分配了HubbList,则需要在覆盖它之前释放它

NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:plistPath];

[Hubplist release];
Hubplist = nil;
Hubplist = (NSDictionary *)[NSPropertyListSerialization
                                      propertyListWithData:plistXML
                                      options:NSPropertyListImmutable
                                      format:&format
                                      error:NULL];
// Also make sure to retain it if needed
[Hubplist retain];

不,不使用弧。我确实保留了数据,这似乎贯穿了应用程序的整个生命周期(它需要这样做)