Я прочитал много сообщений на эту тему, но не могу найти ответ, чтобы решить мою проблему ... По этой причине, я надеюсь, вы мне поможете:
Я получилПриложение для iPad с шаблоном SplitViewController.Таким образом, RootViewController является типом UITableViewController.Мои данные хранятся в двух массивах, которые заполняются XMLParser (класс SyncController).Но tableView не показывает данные ...
Первый мой вызов синтаксического анализатора в AppDelegate:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
// Add the split view controller's view to the window and display.
self.window.rootViewController = self.splitViewController;
[self.window makeKeyAndVisible];
syncController = [[SyncController alloc] init];
[syncController syncData];
return YES;
}
Это работает.SyncController выполняет синтаксический анализ XML, и в конце я получил две переменные экземпляра (NSMutableArrays) SyncController, заполненные моими данными, которые я хочу передать в мой RootViewController:
rootViewController.visitorNames = [[NSArray alloc] initWithArray:self.visitorNames];
rootViewController.visitorCompanies = [[NSArray alloc] initWithArray:self.visitorCompanies];
[rootViewController.tableView reloadData];
reloadData, похоже, работает:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
NSLog(@"comp count: %u", [self.visitorCompanies count]);
return [self.visitorCompanies count]; }
Консоль показывает правильное количество элементов ... Но тогда cellForRowAtIndexPath не вызывается
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"testghjgjggjgjggjghjghjghjghjghjghjjhgghj");
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell.
cell.textLabel.text = [self.visitorCompanies objectAtIndex:indexPath.row];
return cell;
}
Нет вывода на консоль.Поэтому я установил точку останова на numberOfRowsInSection, чтобы посмотреть переменные экземпляра
Отладочный вывод
Они кажутся нормальными, но когда вы смотрите на _dataSource для tableView,вы видите, что есть неверная сводка ...
Я думаю, именно поэтому мой TableView не работает.
Информация: если я не использую SyncController и инициализируюNSArrays с фиксированными значениями в viewDidLoad RootViewController, он отлично работает