我在.h文件中定义了一个NSMutableArray
NSMutableArray *arrayBatLevel;
在.m文件中初始化
- (void)viewDidLoad {
[super viewDidLoad];
[self DataTimer];
}
-(void)DataTimer
{
[recordDataTimer invalidate];
recordDataTimer = [NSTimer scheduledTimerWithTimeInterval:[timeInterval.text floatValue]
target:self
selector:@selector(recordData)
userInfo:nil
repeats:YES];
}
-(void)recordData
{
if ([aSwitch isOn] == YES) {
if (arrayBatLevel == nil) {
arrayBatLevel = [[NSMutableArray alloc] init];
NSLog(@"alloc arrayBatLevel");
}
[arrayBatLevel addObject:batLevel.text];
}
}
并以dealloc发布
- (void)dealloc {
[arrayBatLevel release];
[super dealloc];
}
但是,它似乎没有释放NSMutableArray
内的所有对象。
当我退出这个应用程序并运行它获得时,这些对象仍然在NSMutableArray中,为什么?
答案 0 :(得分:1)
您的问题不在于数组,而在于数组中的对象。你没有指出“batLevel”的来源。我猜测“batLevel”会保留在其他地方,并使用它“batLevel.text”。