Я использую модифицированное приложение на основе представлений, где у меня есть запуск UIViewController, показывающий элемент управления вводом, и TTThumbsViewController, показывающий результаты. Я передаю их в AppDelegate, используя TTNavigator initWithName:
для TTThumbsViewController. Я сделал это сам, читая из документации:
Метод ViewDidLoad внутри моего TTThumbsViewController:
- (void)viewDidLoad {
self.photoSource = [[PhotoSource alloc]
initWithType:PhotoSourceNormal
title:myTitle
photos:myImages
photos2:nil
];
}
Реализация моего AppDelegate:
@implementation geoFlickrAppDelegate
@synthesize window=_window;
@synthesize viewController=_viewController;
@synthesize navigator;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
navigator =[TTNavigator navigator];
navigator.window = self.window;
TTURLMap *map = navigator.URLMap;
[map from:@"app://home/" toViewController:[geoFlickrViewController class]];
[map from:@"app://album/(initWithName:)" toViewController:[AlbumController class]];
[navigator openURLAction:[TTURLAction actionWithURLPath:@"app://home/"]];
// Override point for customization after application launch.
[self.window makeKeyAndVisible];
return YES;
}
-(void)toGallery:(NSString*)txt
{
[navigator openURLAction:[TTURLAction actionWithURLPath:txt]];
}
Событие внутри моего UIViewController для нажатия следующего представления:
-(IBAction)search:(id)sender
{
NSString *str = [[NSString alloc] initWithFormat:@"app://album/%@",txtSearch.text];
geoFlickrAppDelegate *appDelegate = (geoFlickrAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate toGallery:str];
}
Результатом этого кода является то, что входные данные передаются через мой AppDelegate в TTThumbsViewController с использованием initWithName:
, но никогда не вставляются, а мой метод ViewDidLoad
никогда не вызывается. Любая идея, почему это так?