【发布时间】:2011-08-27 14:12:53
【问题描述】:
我刚刚通过仪器完成了我的应用程序的运行,并且我正在泄漏 _NSCFDictionaries 失控。我没有为锻炼数组设置@property,因为它是一个私有实例变量。
NSString *Path = [[NSBundle mainBundle] bundlePath];
NSString *DataPath = [Path stringByAppendingPathComponent:@"data.plist"];
NSArray *rawDump = [[NSArray alloc] initWithContentsOfFile:DataPath];
workoutArray = [[NSMutableArray alloc] init];
for (NSDictionary *dict in rawDump){
[workoutArray addObject: dict];
}
[rawDump release];
我在 -dealloc 中释放了锻炼数组
- (void)dealloc {
[workoutArray release];
[managedObjectContext release];
[df release];
[super dealloc];
}
非常感谢任何帮助。
【问题讨论】:
-
这是在一个线程中吗?你可能需要一个 NSAutoreleasePool。
-
该代码是否被多次调用?
-
您确定您没有运行该方法两次(或更多)?
-
@Bill trainingArray 如果我自动释放则变为 nil
-
@Eiko 和 @Roman 是的,这是我的主屏幕,它被多次调用
标签: iphone objective-c cocoa-touch memory-leaks