Я новичок в программировании на iOS, и я разработал приложение для своего клиента. Однако, когда я запускаю приложение с помощью инструментов, возникает проблема с утечкой памяти, вызванная словарем, но если я его отпущу, приложение перестанет работать. Я не уверен, в чем проблема.Утечка памяти iOS по словарю
Это изображение инструменты: http://www.flickr.com/photos/[email protected]/6791493522/in/photostream/ утечки
-(void) generateLiquidProductData:(NSArray*) liquidProduct {
int _count = 52;
self.liquidProductData = [[NSMutableArray alloc] initWithCapacity:_count];
for (int i = 0; i < _count; i++){
float x = i;
float y;
if ((liquidProduct != (id)[NSNull null]) && (liquidProduct != nil) && ([liquidProduct count] != 0)) {
y = [[liquidProduct objectAtIndex:i] floatValue];
y = round(y * 10000.0f)/10000.0f;
}
else {
y = 0.0;
y = round(y * 10000.0f)/10000.0f;
}
NSDictionary* _gotLiquidProduct = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithDouble:x],X_VAL,
[NSNumber numberWithDouble:y],Y_VAL,
nil];
NSLog(@"This is y %.5f", y);
[self.liquidProductData addObject:_gotLiquidProduct];
}
}
line self.liquidProductData = [[NSMutableArray alloc] initWithCapacity: _count]; вызовет утечку: вы используете сеттер, поэтому, если свойство liquidProductData сохранено, это приведет к утечке. вместо этого вы можете добавить autorelease или использовать метод autoreleased [NSMutableArray arrayWithCapacity:] – AmineG