我有UITableViewController
textLabel
和detailTextLabel
,问题是我要传递一个让我们说“隐藏”的第三个值URL
,所以当我触摸该行到下一个UITableViewController
时,我可以使用委托didSelectRowAtIndexPath
来获取网址,但我该怎么办呢?
答案 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。