addSubview делает +1 к счету сохранения, и обычно хорошей практикой является выпуск, как только он вам не нужен, и вы передаете его другому указателю. Это как стеклянный шарик, его передают вручную, а если никто не держит, он падает на землю и разбивается.
Пример:
UIView *sampleView = [[UIView alloc] init]; // Retain count: 1
[self.view addSubview:sampleView]; // Retain count: 2
[self.view release]; // Retain count: 1
Когда вызывается removeFromSubview:
, объект будет освобожден:
[sampleView removeFromSuperView]; // Retain count: 0
Это для управления памятью.
Отвечая на ваш вопрос, более безопасный способ сделать то, что вы хотите сделать (загрузить только часть ViewController из кончика (я предполагаю, что вы используете кончик, потому что вы использовали @"VCClass"
в * 1013) *), использовать его следующим образом:
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"VCClass" owner:self options:nil];
UIView *view = (UIView*)[nib objectAtIndex:0];
Это работает, загружая NibName в память, а затем крадя первый элемент (если у вас есть только UIView внутри, тогда он выберет это, как самый верхний элемент). Это делается аналогично для UITableViewCells при загрузке их из nib-файлов. Nib-файлы автоматически высвобождаются, и это имеет больше смысла, поскольку вы, очевидно, просто заботитесь о самом представлении, а не о контроллере.