如何将单元格中的第三个值传递给另一个表视图控制器

时间:2013-01-09 19:09:18

标签: iphone ios objective-c xcode cocoa-touch

我有UITableViewController textLabeldetailTextLabel,问题是我要传递一个让我们说“隐藏”的第三个值URL ,所以当我触摸该行到下一个UITableViewController时,我可以使用委托didSelectRowAtIndexPath来获取网址,但我该怎么办呢?

1 个答案:

答案 0 :(得分:1)

您可以将字典发送到下一个TableView。将SecondTableView控制器.h文件导入FirstTableView控制器,然后引用目标字典。您还需要实现prepareForSegue并在didSelectRowAtIndexPath中调用它。像这样:

在didSelectRowAtIndexPath中:(如果您正在使用它,请务必在Storyboard中设置segue标识符。)

[self performSegueWithIdentifier:@"toSecondTableViewController" sender:nil];

在SecondTableViewController.h中创建你的字典

@property (nonatomic, retain)NSMutableDictionary *selectedDictionary;

确保在SecondTableViewController.m文件中合成它。

然后在你的FirstTableViewController

#import SecondTableViewController.h 
//prepareForSegue
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"toSecondTableViewController"])
    {
        //create the dictionary to store the information from the array
        NSDictionary *dictionaryToPass;
//MainTable is your TableView in your TableViewController
        NSIndexPath *indexpath = [self.MainTable indexPathForSelectedRow];
        NSLog(@"IndexPath is: %@",indexpath);
        //load correct information based on indexpath selected

            dictionaryToPass = [array objectAtIndex:indexpath.row];

        //create the view for the segue
        SecondTableViewController *secondTable = segue.destinationViewController;

//pass the dictionary
        seriesTable.selectedDictionary = dictionaryToPass;
    }
}

然后,您可以在SecondTableViewController中引用selectedDictionary中的键并获取该URL。