У меня есть 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"...???
Спасибо