У меня есть UITableView с некоторыми показанными записями, после выбора строки появляется другой экран, позволяющий пользователю редактировать запись. Затем они нажимают «Готово» или «Отмена» на панели навигации и возвращаются к экрану UITableView.
Вот мой код в didSelectRowAtIndexPath
if (self.transactionDetailViewController == nil ) {
TransactionDetailViewController *aBookDetail = [[[TransactionDetailViewController alloc] initWithNibName:@"TransactionDetailView" bundle:nil] autorelease];
self.transactionDetailViewController = aBookDetail;
[aBookDetail release];
}
giRecToEdit = [[[transactionsArray objectAtIndex:indexPath.row] objectForKey:@"pid"] integerValue];
transactionDetailViewController.hidesBottomBarWhenPushed = YES;
BAppDelegate *delegate = (BAppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.billsndepsNavController pushViewController:transactionDetailViewController animated:YES];
В данный момент у меня есть код, заполняющий UITextFields, в методе viewDidLoad объекта TransactionDetailView, однако этот код вызывается только один раз при выделении представления.
Я пытался комментировать ...
if (self.transactionDetailViewController == nil ) {
, которая работала примерно на трех выбранных строках, а затем завершала работу приложения.
Так что я должен использовать неправильный метод, viewDidLoad - это не то место, где нужно заполнить элементы управления, так куда мне поместить этот код?