Вызовите [tableView realoadData] на RootViewController из AppDelegate? - PullRequest
0 голосов
/ 08 августа 2011

В моем приложении я делаю HTTP-запрос, жду и обновляю мой RootViewController с данными.Проблема в том, что мне нужно сделать вызов [tableView reloadData] после того, как мой сбор данных завершится, так как он стоит прямо сейчас, представление таблицы будет либо частично заполнено, либо не заполнено вообще.Я сталкивался с этой темой:

Передача NSDictionary в ViewController из AppDelegate

, которая включала это решение для настройки данных в контроллере представления из делегата приложения, но яинтересно, как я могу адаптировать это к моей ситуации?Все, что мне нужно, я думаю, это ссылка на rootViewController в appDelegate, чтобы я мог вызывать reloadData, когда мне нужно

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil tableDataSource:(NSArray*)tableData {
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
    // Custom initialization
    tableDataArray = [tableData retain];

}
return self;
}

Спасибо за любые идеи

Ответы [ 2 ]

1 голос
/ 08 августа 2011

Вы можете предоставить appDelegate свойство, которое получает указатель на RootViewController и которое устанавливается RootViewController при его инициализации.

- (id)initWithNibName:(NSString *)nibNameOrNil 
               bundle:(NSBundle *)nibBundleOrNil 
      tableDataSource:(NSArray*)tableData 
{
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) 
    {
        // Custom initialization
        tableDataArray = [tableData retain];
        (MyAppDelegate *)([[UIApplication sharedApplication] delegate]).rootController = self; 
    }
    return self;
}
1 голос
/ 08 августа 2011

Объявите, что tableView как свойство, такое как myTableView в этом классе.Теперь обратитесь к этому классу и вызовите [classObject.myTableView reloadData];

. Это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...