iOS:简单MVC模型中的内存泄漏
我已经build立(一定是简单的…)MVC模型,但是当推回button时我仍然有内存泄漏。
模型类:.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
我也释放string。
在我看来,我把它填充如下:
。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]; }
看起来我释放了整个神圣的东西,但是当我从这个视图推包button到以前,内存泄漏popup:
我做错了什么?
你的帮助是完全赞赏。
你已经在[Nominal -dealloc]
[super dealloc]
中忘记了[super dealloc]
[Nominal -dealloc]
。 此外,不要调用[self.navigationController release]
因为该属性已经由超类( UIViewController
)处理。