我正在使用一個修改後的基於視圖的應用程序,其中我已經啓動了顯示輸入控件的顯示結果的輸入控件& TTThumbsViewController的UIViewController。我使用TTNavigator initWithName:
爲TTThumbsViewController在AppDelegate中傳遞它們。 我自己從文檔讀做:如何用TTNavigator推下一個視圖?
我TTThumbsViewController裏面viewDidLoad方法:
- (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
方法永遠不會被調用。任何想法爲什麼是這樣?
我刪除了'toGallery:'方法,修復了我的init&現在我的應用順利進行。謝謝tonklon。 – Kex