从表格视图导航到表格视图到表格视图(iOS)

问题描述:

我在定义几个表格之间的导航时遇到困难。我正在使用iOS应用程序的导航模板。从RootViewController的(RootViewController.xib已经包含了一个表),我可以导航到另一个表视图(在界面生成器,我能够在IBOutlet中使用自定义的UITableViewController连接):从表格视图导航到表格视图到表格视图(iOS)

@interface RootViewController : UITableViewController <NSFetchedResultsControllerDelegate> { 
    xxxTableViewController *teeTimeTableVC; 
} 
@property (nonatomic, retain) IBOutlet xxxTableViewController *xxxTableVC; 

在RootViewController.m的以下行正常工作:

[self.navigationController pushViewController:self.xxxTableVC animated:YES]; 

界面生成器不会让我连接IBOutlet中第二XIB文件(假设xxxTableViewController)下一个的UITableViewController。

@interface xxxTableViewController : UITableViewController 
    <UITableViewDataSource, UITableViewDelegate> { 
    yyyTableViewController *yyyTableVC; 
} 
@property (nonatomic, retain) IBOutlet yyyTableViewController *yyyTableVC; 

在xxxTableViewController.m下面一行显示一个警告:

[self.navigationController pushViewController:self.yyyTableVC animated:YES]; 

在代码中,我也得到一个警告:不兼容的Objective-C型 '结构yyyViewController *',预期“结构的UIViewController *'当从不同的Objective-C类型传递'pushViewController:animated:'的参数1时

我试图实现一个坏概念吗?是否只有通过RootViewController才能实现?两个控制器类似乎是相同的:

@interface yyyTableViewController : UITableViewController 
    <UITableViewDataSource, UITableViewDelegate>{ 
} 

可以请任何人给我一个提示?我是否需要使用不同的UI元素或实现其他协议?

谢谢,帕特里克

的问题是,你的第二个控制器不具备navigationController成员,所以当你试图使用它的编译器抱怨。您需要自己创建该成员,并在初始化期间将其传递给该类。

+0

你好安迪。谢谢您的回答。我想我不同意或者我不完全明白。 navigationController成员似乎是从UITableViewController继承的,它从UIViewController继承它。 – user690110 2011-04-05 08:38:34

+0

另一个警告警告可能更明确:xxxTableViewController.m:警告:语义问题:将'yyyTableViewController *'发送给类型为'UIViewController *'的参数的指针类型不兼容 但这也不能解释接口构建器的问题。是否有可用的教程来演示超过2个表格之间的导航? – user690110 2011-04-05 08:41:26

+0

@ user690110再看看你的警告,它几乎听起来像你没有包含yyyTableViewController的头文件,所以编译器无法计算出yyyTableVC的类型。我不确定还有什么会导致这种警告。 – Andy 2011-04-05 11:12:35