如何为表格上的不同URL组织详细控制器webview?

时间:2013-07-15 18:47:12

标签: ios objective-c uitableview uiwebview

我有一个静态表视图,里面有几十个静态单元格和组。我正在使用iPad的Master-Detail Application模板。在Detail View Controller我有一个WebView。我试图这样做,当用户选择一个单元格时,它将使用以下代码将不同的URL加载到WebView中:

[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.mywebsite.com"]]];

所以我的问题是......

是否有一种简单的方法可以使WebView为每个唯一的单元格加载不同的URL?区分表中每个单元格的唯一因素是标题,我认为每个单元格指向不同的视图(这将需要超过80个控制器)并不实用。

提前致谢。

1 个答案:

答案 0 :(得分:2)

当然,您只需要让数据源包含要显示的标题和要传递给详细信息视图的URL。您可以拥有一系列字典,其中一个键用于标题,另一个用于URL。

编辑后:

这是一个使用包含3个部分,包含1,3和2行的表的示例。数组的结构与表结构相匹配 - 三个子数组包含1,3和2个元素。

- (void)viewDidLoad {
    [super viewDidLoad];
    NSArray *first = @[@"http://www.mywebsite.com"];
    NSArray *second = @[@"http://www.anotherwebsite.com",@"http://www.somewebsite.com",@"http://www.randomwebsite.com"];
    NSArray *third = @[@"http://www.apple.com",@"http://www.google.com"];
    self.theData = @[first,second,third];
}


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSString *urlString = self.theData[indexPath.section][indexPath.row];
    [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]]];
}