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

时间:2011-04-04 19:22:34

标签: iphone objective-c uinavigationcontroller uitableview

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

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

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

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

接口构建器不允许我将第二个XIB文件(假设xxxTableViewController)中的IBOutlet与下一个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类型'struct yyyViewController *',当从不同的Objective-C类型

我是否想要实施一个糟糕的概念?这种方式只能从RootViewController直接进行吗?两个控制器类似乎都是相同的:

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

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

谢谢你,Patric

1 个答案:

答案 0 :(得分:0)

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