В модальном представлении у меня есть UIPickerView, который выделен и инициализирован в viewDidLoad
.
Он освобождается в dealloc
с другими объектами, используемыми в этом представлении.
Это неправильный способ освобождения моего сборщика? Зачем к нему нужно обращаться после того, как модальное представление отклонено, поскольку сообщение об ошибке, кажется, предлагает?
Ошибка журнала зомби:
-[UIPickerView release]: message sent to deallocated instance 0x5a441
Соответствующий код:
- (void)viewDidLoad
{
[super viewDidLoad];
//navigation bar stuff here
mcPickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 244, 320, 216)];
mcPickerView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin;
// setup the data source and delegate for this picker
mcPickerDataSource = [[MCPickerDataSource alloc] init];
mcPickerView.dataSource = mcPickerDataSource;
mcPickerView.delegate = mcPickerDataSource;
mcPickerView.showsSelectionIndicator = YES;
[self.view addSubview:mcPickerView];
}
- (void)dealloc
{
[mc dealloc];
[mcPickerView dealloc];
[mcPickerDataSource dealloc];
[mcVal release];
[super dealloc];
}