我有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后立即出现第一个链接。我需要做什么,所以我可以用我选择的列表打开相同索引的链接?对不起英语不好并提前致谢
答案 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];
}