У меня есть splitViewController, который имеет в качестве MasterViewController некоторый viewController и в качестве DetailViewController некоторый tableViewController.Когда я нажимаю кнопку на masterViewController, я хочу показать новый tableViewController в detailViewController вместо существующего.
Итак, я сделал так:
SearchDetailViewController *searchDetailViewController = [[SearchDetailViewController alloc] initWithStyle:UITableViewStylePlain];
UINavigationController *searchDetailNavigationController = [[UINavigationController alloc] initWithRootViewController:searchDetailViewController];
После этого я передаю данные для отображенияв новом tableController:
[searchDetailViewController passInSearchResults:listOfItems];
После этого я "толкаю" новые контроллеры в splitViewController:
[searchSplitViewController setViewControllers:[NSArray arrayWithObjects:self.navigationController, searchDetailNavigationController, nil]];
В целевом методе tableViewController "passInSearchResults" данные передаются, и я также вызываю reloadData.Метод выглядит следующим образом:
- (void)passInSearchResults:(NSMutableDictionary *)searchResults {
self.searchResultList = searchResults;
NSLog(@"Data is passed in: %@",self.searchResultList);
[self.tableView reloadData];
//[self.tableView setNeedsDisplay];
}
Консоль: данные передаются в: [здесь я получаю точные данные, которые мне нужны, и кажется, что это правильно].
After this I see that method "numberOfRowsInSection" is fired:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
NSLog(@"Setting table length: %i",[self.searchResultList count]);
return [self.searchResultList count];
}
Консоль: таблица настроекдлина: [здесь я получаю правильную длину]
Проблема в том, что таблица не заполнена переданными данными, и метод "cellForRowAtIndexPath" не вызывается.
Как это может быть в методе reloadData"numberOfRowsInSection" запускается, но не вызывается методом "cellForRowAtIndexPath" ... ???
Спасибо