1

これをデバッグする方法がよくわかりません。

2013-01-24 20:36:18.448 SlideMenu[2069:c07] *** キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: '-[initViewController viewControllers]: 認識されないセレクターがインスタンス 0xac6cdb0 に送信されました'

ここにinitViewController.mがあります

#import "initViewController.h"
#import "ECSlidingViewController.h"
#import "MenuViewController.h"

@interface initViewController ()

@end

@implementation initViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.topViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Main"];
}

@end

そして、例外がスローされている場所:

AppDelegate.m

#import "AppDelegate.h"
#import "MainViewController.h"
#import "ListDoc.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    ListDoc *list1 = [[ListDoc alloc] initWithTitle:@"Potato Bug" thumbImage:[UIImage imageNamed:@"potatoBugThumb.jpg"]];
    ListDoc *list2 = [[ListDoc alloc] initWithTitle:@"House Centipede" thumbImage:[UIImage imageNamed:@"centipedeThumb.jpg"]];
    NSMutableArray *lists = [NSMutableArray arrayWithObjects:list1,list2,nil];

    UINavigationController * navController = (UINavigationController *) self.window.rootViewController;
    MainViewController * mainController = [navController.viewControllers objectAtIndex:0];
    mainController.someData = lists;
    // Override point for customization after application launch.
    return YES;
}

@end
4

1 に答える 1

3

あなたの投稿から:

2013-01-24 20:36:18.448 SlideMenu[2069:c07] *キャッチされない例外 'NSInvalidArgumentException' によるアプリの終了、理由: '-[initViewController viewControllers]: 認識されないセレクターがインスタンス 0xac6cdb0 に送信されました'

例外がスローされている場所が見つかりました:

UINavigationController * navController = (UINavigationController *) self.window.rootViewController;  
MainViewController * mainController = [navController.viewControllers objectAtIndex:0];

これが私の読みです:アイテムnavControllerはのインスタンスでinitViewControllerあり、これはおそらくあなたが期待しているものではありません。
initViewControllerおそらく UINavigationController のサブクラスではありません。

デバッグ方法 これを試して :
NSLog(@"%@", [navController class]);

于 2013-01-27T21:11:25.423 に答える