【问题标题】:Unrecognized selector sent to instance, pushViewController:animated无法识别的选择器发送到实例,pushViewController:animated
【发布时间】:2014-09-12 14:33:42
【问题描述】:

我不知道如何解决这个问题:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[ViewController pushViewController:animated:]: unrecognized selector sent to instance 0x8e5fc70'

此问题与屏幕超时有关。 30 秒无活动后,我的应用程序必须返回登录屏幕,如果用户返回,他必须再次登录。这是我的代码:

AppDelegate.h: 

#import <UIKit/UIKit.h> 

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;
@end


AppDelegate.m:
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidTimeout:) name:kApplicationDidTimeoutNotification object:nil];

    return YES;
}

-(void)applicationDidTimeout:(NSNotification *) notif
{
    NSLog (@"time exceeded!!");
    UIViewController *controller = [[UIStoryboard storyboardWithName:@"Main" bundle:NULL] instantiateViewControllerWithIdentifier:@"mainView"];

    [(UINavigationController *)self.window.rootViewController pushViewController:controller animated:YES];

如您所见,问题出在这段代码的最后一行。我使用的这部分代码取自: iOS perform action after period of inactivity (no user interaction)

【问题讨论】:

  • rootViewController 真的是UINavigationController 吗?好像不是这样的。
  • 那怎么改呢?

标签: ios uiviewcontroller unrecognized-selector


【解决方案1】:

pushViewController:animated: 方法是UINavigationController 的方法。

但是您的根视图控制器的类型是 ViewController,这很可能是 UIViewController

您需要更改设置,使主视图控制器位于 UINavigationController 内,并且您需要将导航控制器设为窗口的根视图控制器。

【讨论】:

  • 但是怎么改呢?
  • 另一种方法是使用presentViewController:animated:completion:,不是吗?如果任何地方都没有UINavigationController
  • @Tannis 您没有提供足够的信息来告诉您如何准确更改它。您使用的是故事板、xib,还是全部用代码完成?
  • 我正在使用 Storyboards。
  • @Tannis 我对故事板的细节无能为力,但有一百万个教程可以。 Sind 展示了如何在导航控制器中设置根视图控制器。然后您的代码将无需任何进一步更改即可工作。
【解决方案2】:

这意味着在故事板中 rootViewController 是一个导航控制器

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-28
    • 2012-07-24
    相关资源
    最近更新 更多