Требования к операционной системе: iOS 5.0 и выше.
Мобильное устройство: iPad.
В данном примере отображается представление контроллера панели измерений, определяется количество измерений и ячеек в таблице на данной панели.
В базовый пример «Отображение экспресс-отчёта» необходимо добавить следующий файл:
DimensionsPanelTableProtocolImpl.h/.m. Делегат для работы с панелью измерений.
Для выполнения примера необходимо разместить в теле метода executeExample класса ViewController (см. раздел «Отображение экспресс-отчёта») следующий код:
// Получаем контроллер для работы с экспресс-отчётом
MAExpressAnalysisReportViewController *contr = (MAExpressAnalysisReportViewController *)m_controller;
// Получаем делегат для работы с экспресс-отчётом
EAReportDelegateImpl *delegate = [contr delegate];
// Получаем панель измерений
id dimensionsPanel = [delegate dimensionsPanel];
NSLog(@"Количество измерений: %d", [dimensionsPanel dimensionsCount]);
if([dimensionsPanel tableView] != nil) {
UITableView *tableView = [dimensionsPanel tableView];
NSLog(@"Количество ячеек в таблице: %d", [tableView numberOfRowsInSection:0]);
} else {
NSLog(@"Табличное представление не определено");
}
// Создаём объект для работы с таблицей на панели измерений
DimensionsPanelTableProtocolImpl *dimensionsPanelTableDelegate = [DimensionsPanelTableProtocolImpl new];
[dimensionsPanelTableDelegate setDimensionsPanel: dimensionsPanel];
// Обновляем панель измерений
[dimensionsPanelTableDelegate update];
// Удаляем все дочерние представления окна
NSArray *subviews = [self.view subviews];
for(UIView *subView in subviews)
{
[subView removeFromSuperview];
}
// Отображаем панель измерений
[self.view addSubview: [dimensionsPanel view]];
В результате выполнения примера на экране мобильного устройства была отображена панель измерений источника данных:

В консоли среды разработки была выведена следующая информация: количество измерений источника данных, количество ячеек в таблице на панели и уведомление об обновлении данных панели:
Количество измерений: 3
Количество ячеек в таблице: 3
Данные панели измерений обновлены
Результат выполнения примера не изменится, если строку кода:
[dimensionsPanelTableDelegate update];
заменим на следующую строку:
[dimensionsPanelTableDelegate deepUpdate];
В консоли среды разработки будет по-прежнему выведено уведомление об обновлении данных панели измерений.
См. также: