iOS: утечка памяти в простой модели MVC - PullRequest
0 голосов
/ 03 марта 2012

Я построил (должно быть просто ...) модель MVC, но у меня все еще есть утечка памяти при нажатии кнопки назад.

Класс модели: .h

@interface Nominal : NSObject {

   int nominalID;
   NSString *nominal;
   NSString *nominalImg;
   NSString *nominalName;
}
@property(nonatomic)int nominalID;
@property(nonatomic,retain)NSString *nominal;
@property(nonatomic,retain)NSString *nominalImg;
@property(nonatomic,retain)NSString *nominalName;
@end

.m

@implementation Nominal
@synthesize nominal,nominalID,nominalImg,nominalName;
-(void)dealloc
 {
   [self.nominal release];
   [self.nominalImg release];
   [self.nominalName release];
 }
@end

Я тоже отпускаю струны.

В моем классе просмотра я заполняю его так:

.h

@interface Nominals : UIViewController {
     ...
     NSMutableArray *nominalsArr;
     ...
}
@property(retain,nonatomic)NSMutableArray *nominalsArr;

.m

 - (void)viewWillAppear:(BOOL)animated 
{
 [[self navigationController]setToolbarHidden:YES animated:YES];
   DBAccess *dbAccsess=[[DBAccess alloc]init];
   self.nominalsArr=[dbAccsess returnNominals:subCountryID];
   [dbAccsess closeDataBase];
   [dbAccsess release];
   [super viewWillAppear:animated];
}
- (void)dealloc
{
  [nominalsArr release];
  [self.navigationController release];
  [super dealloc];
}

Похоже, я выпускаю весьсвязка святых вещей, но когда я нажимаю кнопку упаковки из этого представления в предыдущее, выскакивает память:

enter image description here

Что я делаю не так?

Ваша помощь чрезвычайно ценится.

1 Ответ

1 голос
/ 03 марта 2012

Вы забыли [super dealloc] в [Nominal -dealloc].Также не вызывайте [self.navigationController release], так как это свойство уже обрабатывается суперклассом (UIViewController).

...