基于标签的控制器连接问题

时间:2010-07-15 00:05:31

标签: tabs interface-builder

我有一个问题。

我的代码可以读取RSS源,基于导航。

RssFunViewController - >这就是表格的视图(供稿清单)

NewsDetailViewController - >这会显示有关用户选择的新闻Feed的更多信息(在新视图中)。

但是当我尝试在基于标签的导航项目中使用它时,它不起作用。我只是得到RSS提要表,当我点击一个项目时,我没有看到详细视图。

我认为我的问题是与标签控制器和我的课程的连接。

对于我的第3个导航选项卡,我将RssFunViewController设置为类。

我的问题是如何连接我的RSSFunViewController和NewsDetailViewController,以便当用户点击该项目时,我会看到详细视图。

继承我的标签控制器中的当前连接: www.freeimagehosting.net/uploads/535e439c7f.jpg

谢谢大家。

1 个答案:

答案 0 :(得分:1)

也许我不得不让你失望,但iPhone编码有一个非常陡峭的学习曲线,经过拖放和连接点相位,你实际上必须理解事物并使用代码使它们工作

虽然您提供的信息非常有限,但以下是如何处理表格点击操作的简要概述。

该表应该将它的委托和数据源连接到正确的类(可能是,但不必是同一个类)。

委托类应包含方法

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

将在点击表条目时调用。然后indexPath.row将提供被点击条目的行号。

在此方法中,您可以呈现另一个显示详细信息的视图控制器,例如像:

NewsDetailViewController *ndvc = [[NewsDetailViewController alloc] autorelease];
ndvc.delegate = self;
[ndvc setFeedId:indexPath.row];
[ndvc initWithNibName:@"NewsDetailViewController" bundle:nil];
[self.navigationController pushViewController:ndvc animated:YES];

(假设NewsDetailViewController有一个setFeedId方法等。)

或者您可以在您的nib文件中实例化NewsDetailViewController,这样您就可以跳过alloc和initWithNibName步骤,并放置一个“IBOutlet NewsDetailViewController * ndvc;”在头文件中,以便您可以连接它们。

要从点按的行中删除突出显示,请执行

[tableView deselectRowAtIndexPath:indexPath animated:YES];

如果你正在处理一个提供的项目,你应该能够找到这些已经存在的行。祝你好运。