У меня были некоторые проблемы с пониманием управления памятью. Я добавляю изображения и кнопки в основной вид, используя цикл. Изображения отпускаются правильно, но не кнопки.
Мой вопрос сводится к тому, учитывая следующий код, почему, когда я нажимаю кнопку, чтобы очистить экран, память не освобождается? UIButton автоматически высвобождается из пользовательского UIButtonType, и setImage autoreleases транспортная карта.
- (void)viewDidLoad
{
[super viewDidLoad];
UIButton *homeButton = [UIButton buttonWithType:UIButtonTypeCustom];
[homeButton setFrame:[UIScreen mainScreen].bounds];
[homeButton setBackgroundColor:[UIColor blueColor]];
[homeButton setImage:[UIImage imageNamed:@"TransportationMap.png"] forState:UIControlStateNormal];
homeButton.tag = 9399;
[homeButton addTarget:self action:@selector(clearScreen) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:homeButton];
}
-(void)clearScreen
{
for (UIView *view in [self.view subviews]) {
[view removeFromSuperview];
}
}