Iphone 从表视图导航到表视图再导航到表视图(iOS)

Iphone 从表视图导航到表视图再导航到表视图(iOS),iphone,objective-c,uinavigationcontroller,uitableview,Iphone,Objective C,Uinavigationcontroller,Uitableview,我在定义多个表之间的导航时遇到困难。我正在使用iOS应用程序的导航模板。从RootViewController(RootViewController.xib已经包含一个表),我可以导航到另一个表视图(在界面生成器中,我可以将IBOutlet与自定义UITableViewController连接): interface builder不允许我将第二个XIB文件(比如说xxxTableViewController)中的IBOutlet与下一个UITableViewController连接 @inte

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

interface builder不允许我将第二个XIB文件(比如说xxxTableViewController)中的IBOutlet与下一个UITableViewController连接

@interface xxxTableViewController : UITableViewController 
    <UITableViewDataSource, UITableViewDelegate> {
    yyyTableViewController *yyyTableVC;
}
@property (nonatomic, retain) IBOutlet yyyTableViewController *yyyTableVC;
在代码中,我还收到一条警告:当从不同的Objective-C类型传递参数1“pushViewController:animated:”时,不兼容的Objective-C类型为“struct yyyyviewcontroller*”,应为“struct UIViewController*”

我是在试图实现一个糟糕的概念吗?是否只有这样才能直接从RootViewController访问?两个控制器类似乎相同:

@interface yyyTableViewController : UITableViewController 
    <UITableViewDataSource, UITableViewDelegate>{
}
@接口YYYYTableViewController:UITableViewController
{
}
谁能给我一个提示吗?我需要使用不同的UI元素还是实现另一个协议


谢谢你,Patric

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

Hello Andy。谢谢你的回答。我想我不同意或者我不完全理解。navigationController成员似乎是从UITableViewController继承的,而UITableViewController是从UIViewController继承的。另一个警告可能更明确:xxxTableViewController。m:警告:语义问题:不兼容的指针类型将“yyyTableViewController*”发送到类型为“UIViewController*”的参数,但这也没有解释界面生成器的问题。是否有一个教程可以演示两个以上表之间的导航?@user690110再次查看您的警告,似乎您没有包含YYYYTableViewController的标题,因此编译器无法确定YYYYTableVC的类型。我不确定还有什么会引起这样的警告。
@interface xxxTableViewController : UITableViewController 
    <UITableViewDataSource, UITableViewDelegate> {
    yyyTableViewController *yyyTableVC;
}
@property (nonatomic, retain) IBOutlet yyyTableViewController *yyyTableVC;
[self.navigationController pushViewController:self.yyyTableVC animated:YES];
@interface yyyTableViewController : UITableViewController 
    <UITableViewDataSource, UITableViewDelegate>{
}