到目前为止,我有一个带有 UINavigationController 和一个 TableViewController 的 Storyboard。TableViewController 是 UITableViewController 的自定义类,我在情节提要上设置了这个。在 didFinishLaunching 的 Appdelegate 中,我有以下代码:
NSLog(@"rootviewconroller: %@",self.window.rootViewController);
//CTCAEMainTableViewController *mainViewController = (CTCAEMainTableViewController *)self.window.rootViewController;
UINavigationController *mainNavigationController = (UINavigationController *)self.window.rootViewController;
CTCAEMainTableViewController *mainTableViewController = (CTCAEMainTableViewController *) mainNavigationController.topViewController;
NSLog(@"table: %@",mainTableViewController);
NSLog(@"table: %@",mainTableViewController.testMethod);
CTCAEMainTableViewController 是我的自定义 UITableViewController。
@interface CTCAEMainTableViewController : UITableViewController
但是我得到的只是一个普通的 UITableViewController,当我尝试调用我的 testMethod 时,我得到一个运行时错误:无法识别的选择器发送到实例。
我还尝试使用 NavigationController 的 viewControllers 方法访问 TableViewController,然后访问索引 0 处的对象。同样的事情。我很困惑,因为在我的故事板中它显示了它的自定义类。