2013-10-11 2 views
3

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

Как я могу это сделать?

+0

Используйте делегат, который можно назвать, когда вы нажмете выбрать что бы вы ни пожелали в подробном представлении, это позволит вам вызвать его и, таким образом, в главном представлении вы получите вызов и сможете действовать по нему. – darren102

ответ

6

Подготовить для segue не вызывается при появлении контроллера просмотра из стека навигации. Я бы предложил позвонить [tableView reloadData] либо в методе viewWillDisappear детального вида, либо в методе viewWillAppear основного вида. Кроме того, если вы хотите перезагрузить представление таблицы после внесения изменений, вы можете попробовать использовать уведомления. Что-то вроде следующего в вашем главном контроллере представления:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refresh:) name:@"RefreshMasterNotification" object:nil]; 
} 

- (void)dealloc 
{ 
    [[NSNotificationCenter defaultCenter] removeObserver:self]; 
} 

- (void)refresh:(NSNotification *)notification 
{ 
    [tableView reloadData]; 
} 

И что-то вроде следующего, когда вы делаете изменения в вашем контроллере представления подробно:

[[NSNotificationCenter defaultCenter] postNotificationName:@"RefreshMasterNotification"]; 
+0

Спасибо большое! Работа для меня :) –

Смежные вопросы