У меня есть HomeViewController
, у которого есть таблицаView, заполненная массивом tableViewArray
(изначально пустая). Когда я нажимаю на barButton, я перехожу к другому контроллеру View, который называется OutsideViewController
, который имеет другой tableView, заполненный другим массивом.Добавить объекты в массив из другого контроллера View
То, что я хотел бы сделать это следующим образом:
Когда я нажимаю на строку в моем OutsideViewController
, я хотел бы добавить выбранное значение строки в tableViewArray
так, что, когда я возвращаюсь к HomeViewController
, в tableView имеет этот новый элемент, указанный в таблицеView.
До сих пор, это то, что я пробовал:
В -didSelectRowAtIndexPath
методе моей OutsideViewController.m
у меня есть этот кусок кода:
NSString *selectedRow = [outsideArray objectAtIndex:indexPath.row];
NSMutableArray *temporaryArray = [NSMutableArray arrayWithObject:selectedRow];
HomeViewController *homeVC = [[HomeViewController alloc] init];
homeVC.tableViewArray = temporaryArray;
, что код работает, но Tableview в HomeViewController
еще пуста когда я вернусь. Нужно ли перезагружать данные tableView? Я делаю это правильно?
Это, как я настроил мой взгляд контроллеров в раскадровке:
HomeViewController -(modal segue)-> Navigation Controller --> OutsideViewController
Кроме того, возвращение из OutsideViewController к HomeViewController осуществляется с помощью этой строки кода:
[self dismissViewControllerAnimated:YES completion:^{ }];
Я использую глобальный одноэлементный класс, который может хранить такие вещи, как массивы, к которым необходимо получить доступ с любого контроллера. –