AppDelegate.m类中的@interface错误

时间:2012-12-15 18:44:14

标签: objective-c ios cocoa-touch appdelegate

应该是我缺少的简单解决方案。我有一个Tab View Controller驱动的应用程序,我想在用户启动或打开应用程序时通过密码保护。我创建了一个密码类&在IB中查看控制器。

我正在尝试使用AppDelegate.m类applicationDidLoadInForeground方法,并使用以下代码:

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    NSUserDefaults *submissionDefaults = [NSUserDefaults standardUserDefaults];
    if ([submissionDefaults boolForKey:@"passcodeActive"] == true)
    {   
        PINAuthViewController *pinController = [[PINAuthViewController alloc] init];
        [self presentViewController:pinController animated:YES completion:nil];
    }
}

我已经在标题

中导入了我的PINAuthViewController类
#import "PINAuthViewController.h"

但是我在编译时遇到错误"没有可见的@interface为' AppDelegate'声明选择器' presentViewController:animated:completion'。

有谁能告诉我做错了什么?目的是在正确输入密码时关闭密码视图控制器。

非常感谢,詹姆斯

2 个答案:

答案 0 :(得分:11)

app委托不能呈现视图控制器,因为它不是UIViewController本身的子类。

您需要将代码更改为:

[self.window.rootViewController presentViewController:pinController animated:YES completion:nil];

答案 1 :(得分:2)

你也可以试试这段代码......

sonr