ios - 无法通过 AppDelegate 的标识符调用 Segue

标签 ios swift uiviewcontroller uistoryboardsegue appdelegate

所以我有一个从 ViewController 到 SecondViewController 的转接。此 segue 由 ViewController 中的 UIButton 和模态呈现的 SecondViewController 触发。 Segue 的标识符已设置(“SegueIdentifier”),我可以从我的 ViewController 中以编程方式调用 segue。

当我尝试在我的 AppDelegate 中做同样的事情时,我收到编译器无法找到带有我设置的标识符的 segue 的错误。

let viewController = ViewController()            
viewController.performSegueWithIdentifier("SegueIdentifier", sender: nil)

同样,我从字面上复制并粘贴了 ViewController 中上述方法的 performSegueWithIdentifier 方法调用,其中我还为相同的 segue 调用了 performSegueWithIdentifier 并且它有效。

有什么想法吗?

最佳答案

在我的一个项目中,我正在处理这样的情况,

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.

NSString *identifier;
BOOL isSaved = [[NSUserDefaults standardUserDefaults] boolForKey:@"loginSaved"];
if (isSaved)
{
    identifier=@"home1";



}
else
{
    identifier=@"dis1";
}
UIStoryboard *    storyboardobj=[UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *screen = [storyboardobj instantiateViewControllerWithIdentifier:identifier];



[self.window setRootViewController:screen];


return YES;
}

它在 objective-c 中,仅供引用。如果对你有帮助的话:)

更新:

在 swift 中,例如,

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {



    var identifier: String = String()

    let isSaved = NSUserDefaults.standardUserDefaults().boolForKey("loginsaved")


    if isSaved

    {
        identifier = "home1"
    }
    else{

        identifier = "dis1"
    }

    let storyboardobj: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let screen: UIViewController = storyboardobj.instantiateViewControllerWithIdentifier(identifier)
    self.window!.rootViewController = screen

    // Override point for customization after application launch.
    return true
}

希望这会有所帮助:)

关于ios - 无法通过 AppDelegate 的标识符调用 Segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37253372/

相关文章:

iphone - 同一 View Controller 中的两个 UINavigationController

iphone - 阻止在 IOS 7 中不被调用和不动画

ios - 如何从 Xamarin.iOS 中的 WidgetKit 访问 WidgetCenter?

ios - 哪种算法适用于 swift 的 "contains"函数?

ios - 动画后更改 ViewController

php - 通过 PHP 从 mySQL 获取值到 swift

ios - 使用 [UIViewControllerTransitionCoordinator animateAlongsideTransition :completion:] in a modal presentation, 时,不会调用动画 block

iOS (Swift) - UIViewController 数组

ios - Reactive Cocoa 在没有代码重复的情况下拆分信号?

android - 如何在 Kotlin 多平台项目的 iOS 模块中将字符串转换为字节数组?