iPhone, куда я должен поместить свой элемент управления, заполняющий заданный вид, viewDidLoad вызывается один раз? - PullRequest
1 голос
/ 30 сентября 2010

У меня есть 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 - это не то место, где нужно заполнить элементы управления, так куда мне поместить этот код?

1 Ответ

3 голосов
/ 30 сентября 2010

Использование viewWillAppear:.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...