我在定义几个表之间的导航时遇到了困难。我正在使用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
答案 0 :(得分:0)
问题是你的第二个控制器没有navigationController
成员,因此编译器在你尝试使用它时会抱怨。您需要自己创建此成员,并在初始化期间将其传递给该类。