Итак,
У меня есть форма (которая в основном представляет собой UITableView), и как только я заканчиваю форму, я нажимаю кнопку «Готово», которая находится в верхней части экрана.
После нажатия мне нужно добавить данные в другой tableView (который находится в другом tableViewController). Эта таблица также находится внутри контроллера навигации.
После того, как я нажму кнопку «Готово», мне нужно, чтобы presentModalViewController был новым TableView (с новыми данными) вместе с навигационным контроллером в верхней части tableView.
Итак, подведем итог:
- Кнопка Готово находится в someTableViewController.
- Мне нужно добавить объект (давайте просто скажем, что я добавляю имя с именем «Добби» для простоты) в другой табличный вид с именем dogTableViewController.
- Я перезагружаю данные и представляю экран, на котором есть dogTableViewController внутри dogNavigationController.
- Все классы указаны правильно и включены.
Я вставляю - (IBAction) при нажатии кнопки Готово.
-(IBAction) doneWithData: (UIBarButtonItem*) sender{
UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
indicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
[indicator sizeToFit];
indicator.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleTopMargin |
UIViewAutoresizingFlexibleBottomMargin);
indicator.tag = 1;
[self.view addSubview:indicator];
[indicator setBackgroundColor:[UIColor clearColor]];
indicator.center = self.view.center;
indicator.hidden = FALSE;
[indicator startAnimating];
if (self.dogTableViewController == nil)
{
DogTableViewController *temp = [[DogTableViewController alloc] init];
self.dogTableViewController = temp;
[temp release];
}
if (self.dogNavigationController == nil)
{
DogNavigationController *temp = [[DogNavigationController alloc] init];
self.dogNavigationController = temp;
[temp release];
}
[self.dogTableViewController.dogArray addObject:@"Dobby"];
[self.dogTableViewController.tableView reloadData];
NSLog (@"%@", [self.dogTableViewController.dogArray objectAtIndex:0]);
//Prints out "Null" //
[self presentModalViewController:dogNavigationController animated:YES];
[indicator release];
}
Когда я все это сделаю и нажму кнопку Готово,
У меня пустой экран навигации без ТАБЛИЦЫ. Плюс у меня также были некоторые кнопки на экране DogNavigationController. Ничего не видно!
Моя цель - просто перенести экран на этот новый экран (который является домашним экраном, а не rootController). Как вы думаете, я должен пойти с modalViewController для этой задачи? Как вы думаете, я должен использовать другой способ для передачи данных на другой экран?
p.s. Я не хочу использовать PushViewController.