如何在视图之间传递indexPath.row?

时间:2015-04-28 05:17:47

标签: objective-c send

我有表视图,我想将indexPath.row(所选行的索引)发送到另一个视图。

ProfesorViewController.m

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    SCProfesoresCellTableViewCell *cell = (SCProfesoresCellTableViewCell *)[tableView cellForRowAtIndexPath:indexPath];

rowselected = indexPath.row;

}

ProfesorViewController.h

@interface ProfesorViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>

@property long rowselected;

@end

我希望获得rowselected变量的值:

ProfesorDetailViewController.m

@synthesize rowselected;

- (void)viewDidLoad {

    NSLog(@"BANDERA DE LA FILA %ld", rowselected);
}

ProfesorDetailViewController.h

@interface ProfesorDetailViewController : UIViewController
@property long rowselected;
@end

rowselected的值始终为0。 我不知道如何发送变量的值。

2 个答案:

答案 0 :(得分:0)

您有两个具有相同名称的属性的类,但您永远不会将值1分配给另一个的值。在某些时候,您需要使用ProfesorDetailViewController的实例并在其上设置rowselected,可能在初始化时。

ProfesorDetailViewController *detailViewController = [[ProfesorDetailViewController alloc] init];
detailViewController.rowselected = self.rowselected;

答案 1 :(得分:0)

我无法理解在ProfesorViewControllerProfesorDetailViewController之间传递数据的位置,因此在查看控制器之间传递数据

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    ProfesorDetailViewController *profesor=[[ProfesorDetailViewController alloc]initWithNibName:@"ProfesorDetailViewController" bundle:nil];
    rowselected=indexPath.row;
    search.Selected=_selected;
    [self.navigationController pushViewController:profesor animated:YES];
} 

现在,您可以正确地在ProfesorDetailViewController viewController中获取所选行索引的值..