2012-05-04 17 views
0

這是什麼原因造成的?我在Xcode 4.3上運行iOS 5.1並使用Storyboard。無法識別的應用程序中的選擇器didFinishLaunchingWithOptions與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選擇'Is Initial View Controller'選項。

相關問題