我在Xcode中遇到这个错误:'appDelegate'的@interface声明选择器'performSegueWithIdentifier:sender:'

时间:2014-05-26 18:22:02

标签: ios objective-c xcode

我在Xcode中收到此错误:@interface AppDelegate声明选择器performSegueWithIdentifier:sender:

我的main.storyboard从常规视图到第一次启动时都有一个seque。

我的AppDelegate.m说:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"])
    {
        // app already launched
        NSLog(@"this app has already been launched partner");
    }
    else
    {
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
        [[NSUserDefaults standardUserDefaults] synchronize];
        // This is the first launch ever
        NSLog(@"first time launch bb");
        [self performSegueWithIdentifier:@"toWelcomeScreen" sender:self];


    }
    // Override point for customization after application launch.
    return YES;
}

如何在第一次启动时实现这一目标,它会显示带有segue toWelcomeScreen的视图?

1 个答案:

答案 0 :(得分:2)

-performSegueWithIdentifier:sender:不是<UIApplicationDelegate>协议中定义的方法,因此在此上下文中无法在self上调用它。 UIViewController的子类可以回复邮件-performSegueWithIdentifier:sender:,因此请在AppDelegate的{​​{1}} window媒体资源上进行调用。

rootViewController

确保在此次通话前已指定[self.window.rootViewController performSegueWithIdentifier:@"toWelcomeScreen" sender:self]; 修改 rootViewControllerrootViewController窗口的属性。

编辑2:分配AppDelegate属性,只需将其设置为自定义视图控制器的实例。

rootViewController