2012-05-04 2 views
0

これは何が原因ですか?私は、Xcode 4.3でiOS 5.1を実行しており、ストーリーボードを使用しています。アプリケーションで認識できないセレクターdidFinishLaunchingWithOptions with topViewControllerの割り当て

'NSInvalidArgumentException', reason: '-[WFTopTableViewController topViewController]: unrecognized selector sent to instance 0x6d56f80' 


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Initial view controller is a Table View Controller, so we look up the window's rootViewController. 
    UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController; 
    // Set up the controller. 
    WFTopTableViewController *controller = (WFTopTableViewController *)navigationController.topViewController; 
    // Pass the controller the managed object context for the first time. 
    controller.managedObjectContext = self.managedObjectContext; 
    return YES; 
} 

ありがとうございます! アマンダ

+0

WFTopTableViewControllerがUINavigationControllerのサブクラスでない限り、そのコードは飛ばされません。 – CodaFi

答えて

3

が代わりにこれを試してみてください:

(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions { 
    WFTopTableViewController *controller = (WFTopTableViewController*)self.window.rootViewController; 
    controller.managedObjectContext = self.managedObjectContext; 
    return YES; 
} 

あなたの窓のrootViewControllerはすでにWFTopTableViewController、ないUINavigationControllerです。逆の場合は、Interface BuilderでUINavigationControllerの 'Initial View Controller'オプションを選択してください。

関連する問題