iPad обновляет основные данные из подробного представления. - PullRequest
2 голосов
/ 31 июля 2011

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

В этом случае у меня есть таблица заказов на левой (основной) стороне, которая сверлит вниз, чтобы показать 3 уровня заказов: Open, Held & Sent. Поэтому, если я «изменю» статус ордера (переведите его в режим ожидания, снимите его с охраны, отправьте и т. Д.), Я бы хотел отразить это на стороне мастера. Есть идеи?

С помощью кнопки действия в контроллере детального вида, который я пробовал:

1

[[appDelegate.splitViewController.viewControllers objectAtIndex:0] reload];

2

OrdersRootController *orc = [[OrdersRootController alloc] initWithNibName:@"Orders" bundle:nil];
orc = [appDelegate.splitViewController.viewControllers objectAtIndex:0];
[orc.tableView reloadData];

Edit:

Я пытался добавить уведомление, но оно не работает:

Я должен что-то упустить. , ,

Я добавляю наблюдателя в awakeFromNib:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refreshOrders:) name:@"OrderStatusChanged" object:odc];

и проводка из заказа:

[[NSNotificationCenter defaultCenter] postNotificationName:@"OrderStatusChanged" object:self];`

но указанный селектор никогда не срабатывает. , , что мне не хватает?

Ответы [ 3 ]

2 голосов
/ 01 марта 2013

Хотя вы уже выбрали ответ .. Вызовите это в любом месте вашего DetailView:

UINavigationController *navController = self.splitViewController.viewControllers[0];
MasterViewController *controller = (MasterViewController *)navController.topViewController;
1 голос
/ 31 июля 2011

Я бы передавал ссылку (возможно, в AppDelegate) на табличное представление в подробном представлении в главное представление и напрямую вызывал данные перезагрузки таблицы.

Или вы можете использовать уведомления, основное представлениевызывает уведомление, и подробное представление отвечает, загружая соответствующие данные.

0 голосов
/ 31 июля 2011

Если вы используете контроллер раздельного просмотра по умолчанию, вы можете сделать это

[self.rootViewController.tableView reloadData];
...