2012-05-04 3 views
0

이 문제의 원인은 무엇입니까? Xcode 4.3에서 iOS 5.1을 실행하고 Storyboards를 사용하고 있습니다.응용 프로그램에서 인식 할 수없는 선택기가 수행되었습니다. topViewController 지정이있는 FinalLaunchingWithOptions

'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입니까?'옵션을 선택해야합니다.

관련 문제