AppDelegate.m 类中的@interface 错误
Posted
技术标签:
【中文标题】AppDelegate.m 类中的@interface 错误【英文标题】:@interface error in AppDelegate.m class 【发布时间】:2012-12-15 18:44:13 【问题描述】:应该是我缺少的简单解决方案。我有一个选项卡视图控制器驱动的应用程序,我想在用户启动或打开应用程序时对其进行密码保护。我在 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 for 'AppDelegate' 声明选择器'presentViewController:animated:completion'时收到错误。
谁能告诉我我做错了什么?如果密码输入正确,目的是关闭密码视图控制器。
非常感谢,詹姆斯
【问题讨论】:
【参考方案1】:应用委托不能呈现视图控制器,因为它不是 UIViewController 本身的子类。
您需要将代码更改为:
[self.window.rootViewController presentViewController:pinController animated:YES completion:nil];
【讨论】:
您在该方法调用中缺少一些关键文本。 糟糕,已修复!感谢您的提醒。 谢谢两位!我的代码现在可以编译,但是当我运行它时,执行该行时视图会变黑。在 xcode 中引发以下警告: 警告:尝试在你也可以试试这个代码...
self.viewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
【讨论】:
以上是关于AppDelegate.m 类中的@interface 错误的主要内容,如果未能解决你的问题,请参考以下文章
从 AppDelegate.m 中的 applicationDidEnterBackground 中去掉键盘
appdelegate.m 中的 UIAlertView 不起作用