故事板中的自定义TableViewController无法访问?

时间:2013-03-29 04:24:11

标签: ios uinavigationcontroller uitableview

到目前为止,我有一个带有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处的对象。同样的事情。 我很困惑,因为在我的故事板中它显示了自定义类。

2 个答案:

答案 0 :(得分:0)

您确定在故事板中更改了控制器的子类吗?

Custom Table View Controller

请注意,在“自定义类”框中,我已经设置了我的TVC应该是的子类的名称。另外,我通过拖出一个普通的TVC然后设置子类来创建storyboard元素。

答案 1 :(得分:0)

发现了这个问题。我将Storyboard命名为MainStoryboard,这也是Storyboard的默认名称,因此在我的项目中设置故事板似乎不起作用。制作了一个新的故事板,以不同的方式命名,以同样的方式完成所有其他工作。