Навигационное приложение с кнопкой добавления - PullRequest
0 голосов
/ 15 марта 2011

Я создал новый проект приложения на основе навигации. Затем в MainWindow.xib я добавил кнопку на панель навигации. Я хотел бы выдвинуть новый вид на экран, где я могу ввести информацию, которая будет добавлена ​​как объект в массив UITableView.

Но я не знаю, куда написать IBAction, чтобы связать кнопку (Appdelegate или RootViewController)? Потому что, как вы видите на скриншоте, он находится в MainWindow.xib, потому что RootViewController - это просто таблица и не содержит навигации. Но в представлении документа MainWindow.xib он находится под RootViewController.

Должен ли я создать новый View Controller внутри XIB и создать для него IBOutlet?

Я попытался поместить код в свой AppDelegate и сослаться на кнопку делегату, но она не работает.

Пожалуйста, помогите. Заранее спасибо.

Смотрите скриншот здесь: http://i56.tinypic.com/5djbcm.png

1 Ответ

1 голос
/ 15 марта 2011

Когда вы задаете себе вопрос «к чему относится это действие», это, скорее всего, контроллер, потому что контроллеры обрабатывают потоки событий в вашем приложении.Следующий вопрос - «Какой контроллер отвечает за это действие? Какой контроллер больше всего заинтересован в этом действии?».Ответ в вашем случае - контроллер корневой таблицы (RootViewController экземпляр).Создайте в нем метод IBAction, который будет выдвигать контроллер формы (тот, который вы используете для ввода информации) в контроллер навигации.

// somewhere in RootViewController.m
- (IBAction)addNewEntry {
    NewEntryFormController *c = [[[NewEntryFormController alloc] init] autorelease];
    // ...

    [self.navigationController pushViewController:c animated:YES];
}
...