【发布时间】:2011-04-04 19:22:33
【问题描述】:
我在定义多个表格之间的导航时遇到了困难。我正在使用 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 类型传递“pushViewController:animated:”的参数 1 时,不兼容的 Objective-C 类型“struct yyyViewController *”,预期为“struct UIViewController *”
我是否试图实施一个糟糕的概念?是否只能直接从 RootViewController 以这种方式进行?两个控制器类似乎是相同的:
@interface yyyTableViewController : UITableViewController
<UITableViewDataSource, UITableViewDelegate>{
}
谁能给我一个提示?我是否需要使用不同的 UI 元素或实现其他协议?
谢谢你,帕特里克
【问题讨论】:
标签: iphone objective-c uinavigationcontroller uitableview