Ios 在之间传递数据

Ios 在之间传递数据,ios,objective-c,didselectrowatindexpath,Ios,Objective C,Didselectrowatindexpath,我有两个由序列连接的视图控制器,第一个是子视图,第二个是子选项卡 我想将该表中选定行的值从第一个视图控制器传递到第二个视图控制器,以便定义他的标题。 这是代码 SubView.m(我的第一个ViewController) SubTabela.h(我的第二个ViewController) 亚表贝拉 @synthesize tituloTabela; - (void)viewDidLoad { [super viewDidLoad]; self.title = tituloTa

我有两个由序列连接的视图控制器,第一个是子视图,第二个是子选项卡 我想将该表中选定行的值从第一个视图控制器传递到第二个视图控制器,以便定义他的标题。 这是代码

SubView.m(我的第一个ViewController)

SubTabela.h(我的第二个ViewController)

亚表贝拉

@synthesize tituloTabela;

- (void)viewDidLoad
{

    [super viewDidLoad];

    self.title = tituloTabela;

    // Here i get the a Null value
    NSLog(@"value %@", tituloTabela);

}

请帮忙

我认为您传递数据的方式不正确,看起来好像您在
didSelectRowAtIndexPath
中创建了一个对象,并将数据传递到该对象中,然后丢弃该对象。您需要做的是将其称为:

[self performSegueWithIdentifier:<#(NSString *)#> sender:self];

打开屏幕的代码在哪里?这是非常重要的,因为我想我看到了你的错误。屏幕正在按顺序打开。对不起,如果我不明白,我是开发中的新手。是的,我不知道你在使用segue,但是你没有将调用segue的代码添加到你的question@SimonMcLoughlin那么我何时以及如何调用这个方法呢?但我不想在didSelectRowatineXpath中传递值?我如何无法从所选行获取值?@DiegoRodrigues但是您没有在
didselectrowatinexpath
中传递数据,您创建了一个名为
subTabela
的变量,您设置了数据,然后您就不再使用该对象,因此它不会在任何地方使用。然后,当您调用segue时,它会再次创建viewController,而不使用您在第一个上设置的数据。您需要在
didSelectRowAtIndexPath
方法之外创建一个变量,在
didSelectRowAtIndexPath
回调中调用segue,并按我所示传递数据。@DiegoRodrigues仅仅因为您创建了
子标签
并不意味着您对它所做的任何操作都会影响应用程序中的所有
子标签
。如果调用方法
[self-performsguewithidentifier:sender:self],您可以拥有许多相同的类,并使用上述方法将不同的值传递给它们
didSelectRowAtIndexPath
中,我收到此错误,导航栏被刷新。2014-01-20 15:33:36.885 Prototipo[2001:70b]嵌套推送动画可能导致导航栏损坏2014-01-20 15:33:37.247 Prototipo[2001:70b]在意外状态下完成导航转换。导航栏子视图树可能已损坏。@DiegoRodrigues错误是您试图多次推送。你有没有在另一个电话里留下来触发segue?这就是为什么我两次要求您编辑您的问题并显示代码的这一部分!打任何其他电话来推动segue,一切都会好起来的
@synthesize tituloTabela;

- (void)viewDidLoad
{

    [super viewDidLoad];

    self.title = tituloTabela;

    // Here i get the a Null value
    NSLog(@"value %@", tituloTabela);

}
[self performSegueWithIdentifier:<#(NSString *)#> sender:self];
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    SubTabela *vc = (SubTabela *)segue.destinationViewController;
    vc.tituloTabela = linhaSelecionada;
}