Делегат для работы с представлением данных в виде плоского дерева

Описание: делегат для работы с представлением данных в виде плоского дерева.

Файл «MATreeMap3DViewControllerDelegateImpl.h»

#import <MobileAnalysis/MATreeMap3DViewController.h>
#import <MobileAnalysis/MATreeMapDataViewController.h>
#import "TreeMapDataViewDataSource.h"

@interface MATreeMap3DViewControllerDelegateImpl : MATreeMap3DViewController<MATreeMap3DViewControllerDelegate> {
}

// Устанавливает контроллер для работы с базовым представлением данных в виде плоского дерева
-(void)setTreeMap3DViewController: (MATreeMap3DViewController *) treeMap3DViewController
withDataSource: (TreeMapDataViewDataSource *) treeMapDataSource;

@end

Файл «MATreeMap3DViewControllerDelegateImpl.mm»

#import "MATreeMap3DViewControllerDelegateImpl.h"

@implementation MATreeMap3DViewControllerDelegateImpl
- (void)controlWillAppear:(MATreeMap3DViewController *)controller {
    UIImage *screenshot = [controller generateScreenshot];
    // Определяем путь к файлу, в который будет сохранено изображение
    NSString  *pngPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/MATreeMap3DViewController.png"];
    NSLog(@"Путь к файлу со скриншотом: %@", pngPath);
    // Сохраняем изображение в файл
    [UIImagePNGRepresentation(screenshot) writeToFile:pngPath atomically:YES];
}

// Устанавливает контроллер для работы с базовым представлением данных в виде плоского дерева
-(void)setTreeMap3DViewController: (MATreeMap3DViewController *) treeMap3DViewController
                   withDataSource: (TreeMapDataViewDataSource *) treeMapDataSource {
    MATreeMapDataViewController *treeMapViewController = [MATreeMapDataViewController new];
    [treeMapViewController setValue:treeMap3DViewController forKey:@"m_treeMapController"];
    [treeMapViewController setValue:treeMapDataSource forKey:@"m_dataSource"];
}

@end

См. также:

Работа с базовым представлением данных в виде плоского дерева