在UITableViewCell中选择特定索引后,在safari中打开链接

时间:2014-09-08 05:00:22

标签: ios objective-c uitableview

我有2个数组对象,其中包含名称和文件名。就像这样:

name={"PRESENTATION FILE", "MEETING DOCUMENT", "REPORT"}
file={"item1.ppt", "item2.pdf", "item3.pdf"}

我在TableViewCell中使用此代码来显示文档

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
   UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];

   Document * documentObject;
   documentObject = [_all_documentArray objectAtIndex:indexPath.row];
   cell.textLabel.text = documentObject.name;

   NSString *doc_link =[[NSString alloc] initWithFormat:@"http://localhost/database/%@",documentObject.file];
   NSURL *doc_url=[NSURL URLWithString:doc_link];
   [[UIApplication sharedApplication] openURL:doc_url];

   return cell;
}

当我这样做时,我打开tableview后立即出现第一个链接。我需要做什么,所以我可以用我选择的列表打开相同索引的链接?对不起英语不好并提前致谢

2 个答案:

答案 0 :(得分:1)

NSString *doc_link =[[NSString alloc] initWithFormat:@"http://localhost/database/%@",documentObject.file];
NSURL *doc_url=[NSURL URLWithString:doc_link];
[[UIApplication sharedApplication] openURL:doc_url];

CellForRow方法用于准备单元格,它们将如何查看,配置单元格的元素以及将它们链接到方法等。

didSelectRowAtIndexPath: tableView委托方法中实现这些代码行。

indexPath.row获取索引,使用索引从Array中获取正确的对象,然后使用代码行打开URL。

答案 1 :(得分:1)

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
     Document * documentObject;
    documentObject = [_all_documentArray objectAtIndex:indexPath.row];
     NSString *doc_link =[[NSString alloc] initWithFormat:@"http://localhost/database/%@",documentObject.file];
    NSURL *doc_url=[NSURL URLWithString:doc_link];
    [[UIApplication sharedApplication] openURL:doc_url];

}