Требования к операционной системе: iOS 5.0 и выше.
Мобильное устройство: iPad.
В данном примере демонстрируется работа с элементом заголовка таблицы. После запуска примера выполняются следующие операции:
возвращается верхний заголовок таблицы и его элементы;
определяется индекс, частичный ключ и измерения, связанные с первым элементом заголовка таблицы;
возвращается справочник с настройками элемента заголовка таблицы;
определяются ключ и значение первого элемента полученного справочника.
Частичный ключ элемента представляет собой набор из пар (<ключ-измерения>; <ключ элемента>) для измерений, входящих в элемент заголовка таблицы.
Для выполнения примера необходимо разместить в теле метода executeExample класса ViewController (см. раздел «Анализ данных») следующий код:
// Получаем верхний заголовок таблицы
SPPLPivotTableHeader topPivotHeader = m_gridPivotTable->topHeader();
// Получаем элементы верхнего заголовка таблицы
SPPLPivotTableHeaderElements pivotTableHeaderElements = topPivotHeader->elements();
if (pivotTableHeaderElements->elementsCount() > 0) {
// Получаем первый элемент
SPPLPivotTableHeaderElement element1 = pivotTableHeaderElements->getElementByIndex(0);
printf("Индекс полученного элемента: %d\n", pivotTableHeaderElements->getIndexOfElement(element1));
// Получаем измерения, связанные с данным элементом
SNArray dimensions = element1->correspondingDimensionElements();
printf("Количество измерений, связанных с элементом: %d\n", dimensions->count());
// Создаём на основе измерений новый элемент
SPPLPivotTableHeaderElement element2 = PPLPivotTableHeaderElement::headerElement(dimensions);
printf("Описание частичного ключа элемента: %s\n", element2->keyPart()->description()->UTF8String());
// Генерируем справочник с настройками элемента заголовка таблицы
SNMutableDictionary elementSettings = element2->generatePlist()->qClass<NMutableDictionary>();
printf("Количество ключей справочника с настройками элемента заголовка таблицы: %d\n", elementSettings->count());
if (elementSettings->count()) {
SNString key = elementSettings->allKeys()->objectAtIndex<NString>(0);
SNString value = elementSettings->objectForKey<NString>(key);
if (value != nil) {
printf("Значение первой пары справочника c ключом %s равно %s\n", key->UTF8String(), value->UTF8String());
} else {
printf("Значение первой пары справочника с ключом %s не определено\n", key->UTF8String());
}
}
}
В результате выполнения примера в консоли среды разработки были выведены: индекс первого элемента заголовка таблицы, количество связанных с ним измерений, описание его частичного ключа, количество элементов у справочника настроек, а также значение первого элемента данного справочника:
Индекс полученного элемента: 0
Количество измерений, связанных с элементом: 1
Описание частичного ключа элемента: <NMutableDictionary:
<NNumber:533> => <NNumber:11>
>
Количество ключей справочника с настройками элемента заголовка таблицы: 1
Значение первой пары справочника с ключом 533 не определено
См. также: