2013-03-14 2 views
0

Глядя на мое iPad приложение, у меня есть несколько запросов. Containerviews позволяют мне показывать все четыре вида iphone на одном экране iPad одновременно. В одном представлении, называемом TrackingViewController, есть UITableView (он называется table), который я хочу обновить с помощью кнопки на втором контроллере представления (MainViewController), который также отображается на том же экране iPad. Я назвать кодОбновите UITableview с другого вида, когда оба вида видны сразу

TrackingViewController *trackView = [[TrackingViewController alloc] init]; 
    [trackView.view setNeedsDisplay]; 
    [trackView.table reloadData]; 

в конце IBAction для кнопки в MainViewController, передачи данных отлично, но сама таблица на TrackingViewController не визуально обновления, чтобы показать эти данные.

Если я тогда вручную инициирую совершенно другой контроллер модального представления и отклоняю его на TrackingViewController, когда приложение работает на iPad, тогда появляются данные. Как сделать вид или данные в TrackingViewController автоматически обновлять визуально, когда кнопка нажата на MainViewController? enter image description here

iPad Simulator может помочь. enter image description here

+0

Извините, пожалуйста, попробуйте объяснить это более четко. – Tendulkar

+0

Обновлено объяснение – StreaminJA

+0

Отредактировано: А точнее, насколько я считаю. – StreaminJA

ответ

0

Законченное использованием NSNotificationCenter, используя следующую запись:

Calling a function from a different view controller for iphone

В моем случае, вызов функции, только включенную [таблица reloadData ]; не работал бы, но вызывал мою функцию performFetch (которая также называлась [table reloadData], в конце ее).

0

Я тоже не понимаю ваш вопрос ..

Единственное, что я вижу, вы хотите обновить два UITableViews, но в коде вы только перегрузка данных одного TableView?!?

[trackView.table reloadData]; [otherTable reloadData];

Но я действительно не понимаю ваш вопрос ....

Если другой TableView в другом классе, просто попробовать что-то вроде этого ...

В TrackingViewController.h:

- (void)refreshMyTable; 

В TrackingViewController.m:

- (void)refreshMyTable{ 
     [table reloadData]; 
} 

В вашем MainViewCo ntroller.m действий, которые должны обновит обе таблицы:

- (IBAction)theRefreshingAction{ 
    TrackingViewController *trackView = [[TrackingViewController alloc] init]; 
    [trackView refreshMyTable]; //This refreshes Table in trackView 
    [mainViewTable reloadData]; //This in MainView 
} 
+0

Было ли это вашим решением? –

+0

Большая красивая фотография показывает только одну таблицу, которую я пытаюсь визуально перезагрузить без успеха. – StreaminJA

+0

[trackView.table reloadData]; как указано в вопросе, выполняет ту же функцию, что и ваше предложение [trackView refreshMyTable]; Я пробовал это в любом случае без успеха. На главном экране нет таблицы, просто кнопка. – StreaminJA

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