Я использую UIViewController XIB для создания своего UITableViewCell в IB, затем я реализовал его в коде, подобном следующему:
if(cell == nil)
{
UIViewController *viewController = [[UIViewController alloc] initWithNibName:@"TotalViewCell" bundle:nil];
cell = (TotalViewCell *)viewController.view;
//[viewController release];
}
[[cell totalButton] setTitle:@"$100,000" forState:UIControlStateNormal];
// Action when totalButton is tapped
[[cell totalButton] addTarget:self action:@selector(showTotalDetail:) forControlEvents:UIControlEventTouchUpInside];
return cell;
Обычно я выпускаю viewController, но я помещаю UIButton внутри этой ячейки, и когдапользователь нажимает кнопку, вызывается showTotalDetail.Это код для showTotalDetail:
-(void)showTotalDetail:(id)sender
{
// Move the totalTableView up!
CGRect totalDetailTableViewFrame = CGRectMake(20, 200, 280, 200);
[totalTableView setFrame:totalDetailTableViewFrame];
// Reload the new totalTableView
[self viewWillAppear:YES];
}
Функция в основном изменяет размер tableView и перемещает его в другое место на экране.Итак, если я освобождаю viewController, я получаю ошибку EXC_BAD_ACCESS.Это работает, если я не выпускаю, но я боюсь, что у меня будут утечки памяти.
Любой совет?
Спасибо.