使用storyboard在ios上的视图之间传递值的问题

时间:2013-04-17 15:31:51

标签: iphone ios

我有2个UIViewControllers,我可以在它们之间传递值没有问题。当我尝试将值传递给第三个视图(UITableViewController)时出现问题。 这是我的代码

所有连接都设置正确,在这里调用tableview:

- (IBAction)goToTableView:(id)sender {
    TableMovieViewController *vc=[self.storyboard instantiateViewControllerWithIdentifier:@"TableMovieViewController"];
    vc.finalResult.text=stringFromFirstView;
    [self presentViewController:vc animated:YES completion:nil];
}

vc.finalResult.text已举例"Test Call",我已经过验证,价值就在那里。

现在在表格视图文件中:

.h文件:

@property(strong, nonatomic)UITextField *finalResult;

.m文件:

@synthesize finalResult;

- (void)viewDidLoad
{
    [super viewDidLoad];
    UINavigationBar *nav = [[UINavigationBar alloc]initWithFrame:CGRectMake(0, 0, 320, 40)];
    UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle:finalResult];
    [nav pushNavigationItem:navItem animated:FALSE];
    [self.view addSubview:nav];
}

finalResult永远不会使用从上一个视图传递的值进行设置。

任何想法

由于 罗德里戈

1 个答案:

答案 0 :(得分:2)

变化:

UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle:finalResult];

使用:

UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle:finalResult.text];

finalResult的类型为UITextField,而非NSStringinitWithTitle:要求您提供NSString而不是UITextField

编辑: 当我阅读作为对我的回答的评论的编辑时,你说UITextField *finalResult是一个零值。这可能是因为您没有按照自己的意愿分配和初始化UITextField。

您需要至少在设置文本的地方之前执行finalResult = [[UITextField alloc] init];。我建议你在UITableViewController的初始化函数中进行。