Objective c 取消归档时内存泄漏

Objective c 取消归档时内存泄漏,objective-c,ipad,memory-leaks,nsarray,nskeyedarchiver,Objective C,Ipad,Memory Leaks,Nsarray,Nskeyedarchiver,我希望得到一些关于内存泄漏的支持 我使用NSKeyedArchiver归档了阵列中的数据。我稍后会把它归档。从功能的角度来看,它工作得很好,但当我运行内存泄漏的工具时,在取消归档时会出现内存泄漏 代码如下: NSArray *arrayToLoad = [[NSArray alloc] initWithArray:[NSKeyedUnarchiver unarchiveObjectWithFile:path]]; ballPath = [arrayToLoad copy]; [arrayT

我希望得到一些关于内存泄漏的支持

我使用NSKeyedArchiver归档了阵列中的数据。我稍后会把它归档。从功能的角度来看,它工作得很好,但当我运行内存泄漏的工具时,在取消归档时会出现内存泄漏

代码如下:

NSArray *arrayToLoad = [[NSArray alloc] initWithArray:[NSKeyedUnarchiver unarchiveObjectWithFile:path]]; 

ballPath = [arrayToLoad copy];

[arrayToLoad release];
ballPath是一个垃圾场

仪表显示100%的泄漏与上述代码中的第一行有关。很明显,我遗漏了一些东西,但无法找出是什么。我认为[NSKeyedUnarchiver unarchiveObjectWithFile:path]已自动删除,ArrayLoad已释放,因此我迷路了


任何建议都将不胜感激。

谢谢各位。我仅在使用arrayToLoad的副本设置ballPath后读取其值。仍然没有弄清楚我为什么会有内存泄漏,但下面的代码可以工作,即使我对此并不感到自豪:

if ([ballPath retainCount] > 0) {
    [ballPath release];
}

NSArray *arrayToLoad = [[NSArray alloc] initWithArray:[NSKeyedUnarchiver unarchiveObjectWithFile:path]]; 

ballPath = [[NSArray alloc] initWithArray:arrayToLoad];

[arrayToLoad release];

当您使用完
ballPath
后,您是否已经发布了它?您如何处理ballPath?它的保留计数在代码末尾应该是1。