我正在尝试使用故事板segue而不是didSelectRowAtIndex。
这就是我所拥有的,但此方法无法识别indexPath.row。有没有其他方法可以用来做同样的事情?
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
SpecificExerciseTableViewController *upcomingViewController = segue.destinationViewController;
if ([segue.identifier isEqualToString:@"Web"])
{
upcomingViewController.exerciseArray = [[self.muscleArray objectAtIndex:indexPath.row]objectForKey:@"exercises"];
upcomingViewController.muscleName = [[self.muscleArray objectAtIndex:indexPath.row]objectForKey:@"muscleName"];
}
}
答案 0 :(得分:5)
除非您将indexPath作为ivar,否则范围内不存在此类变量。
如果您想在UITableView中获取所选行的indexPath,请使用:
- (NSIndexPath *)indexPathForSelectedRow
以上调整后的代码:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
SpecificExerciseTableViewController *upcomingViewController = segue.destinationViewController;
if ([segue.identifier isEqualToString:@"Web"])
{
upcomingViewController.exerciseArray = [[self.muscleArray objectAtIndex:indexPath.row]objectForKey:@"exercises"];
upcomingViewController.muscleName = [[self.muscleArray objectAtIndex:indexPath.row]objectForKey:@"muscleName"];
}
}
答案 1 :(得分:0)
这个技巧很好,下面是我用它将解析后的元素拉入网页视图的一个例子
.h文件
@property (strong, nonatomic) NSString *url;
@property (strong, nonatomic) UIWebView *webView;
.m文件
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
if ([segue.identifier isEqualToString:@"WebViewSegue"]) {
WebViewController *webViewController = segue.destinationViewController;
webViewController.url = (self.parseResults)[indexPath.row][@"link"];
webViewController.title = (self.parseResults)[indexPath.row][@"title"];
}
}