我有两个由segue连接的ViewControllers,第一个是子视图,第二个是 Sub Tabela 我想将该表中选定行的值从第一个视图控制器传递给第二个视图控制器,这样我就可以定义他的标题。 这是代码。
SubView.m(我的第一个ViewController)
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// _vinhoArray is the array that I populate the TableView
NSString *selectedRow = [_vinhoArray objectAtIndex:indexPath.row];
// Sub Tabela is the name of Second View
SubTabela *subTabela = [[SubTabela alloc] init];
// tituloTabela is a NSString in my Second View
subTabela.tituloTabela = linhaSelecionada;
// Here i get the Right value
NSLog(@"value %@", subTabela.tituloTabela);
}
SubTabela.h(我的第二个ViewController)
@property (nonatomic, strong) NSString *tituloTabela;
SubTabela.m
@synthesize tituloTabela;
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = tituloTabela;
// Here i get the a Null value
NSLog(@"value %@", tituloTabela);
}
请帮助!
答案 0 :(得分:1)
我认为您没有正确传递数据,看起来好像是在didSelectRowAtIndexPath
内创建了一个对象并将数据传递给它,然后丢弃了这个对象。你需要做的就是这个:
[self performSegueWithIdentifier:<#(NSString *)#> sender:self];
更改屏幕,然后传递这样的数据prepareForSegue
回调
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
SubTabela *vc = (SubTabela *)segue.destinationViewController;
vc.tituloTabela = linhaSelecionada;
}