我正在尝试使用 Storyboard 在 IOS 5.1 上完成应用程序。基本上我正在做一个保管箱应用程序。因为我使用的是 Dropbox SDK,所以到 Dropbox 的链接是在 AppDelegate.m 中处理的。用户可以选择从会话中取消链接并在不同的视图控制器中再次链接。因此,每次用户链接和未链接的应用程序都必须将视图从 Appdelegate 切换到未连接到 rootviewcontroller 的视图控制器
在原始 Dropbox 的示例中,Dropbox 处理转换,如下面的代码
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
if ([[DBSession sharedSession] handleOpenURL:url]) {
if ([[DBSession sharedSession] isLinked]) {
[navigationController pushViewController:rootViewController.photoViewController animated:YES];
}
return YES;
}
return NO;
}
但是我正在使用带有导航控制器的 Storyboard,并且以下任何方法都不起作用我将方法放在注释中。
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
if ([[DBSession sharedSession] handleOpenURL:url]) {
if ([[DBSession sharedSession] isLinked]) {
NSLog(@"App linked successfully!");
// At this point you can start making API calls
/*UIViewController *viewController = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:NULL] instantiateViewControllerWithIdentifier:@"MeetingViewController"];
[self.navigationController pushViewController:viewController animated:YES]; */
//[self performSegueWithIdentifier:@"xxxx" sender:self];
/* LoginDropboxViewController *loginController=[[LoginDropboxViewController alloc] initWithNibName:@"LoginDropbox" bundle:nil];
[navigationController pushViewController:loginController animated:YES]; */
}
return YES;
}
// Add whatever other url handling code your app requires here
return NO;
}
这是应用程序的故事板
那么如何在 AppDelegate.h 中切换视图?
注意:如果我添加一个 segue 并将 segue 命名为 goToMeeting [self performSegueWithIdentifier:@"goToMeeting" sender:self];
我得到的错误是:No Visible @interface for 'AppDelegate' declares the selector performSegueWithIdentifier:sender