0

我有 2 个 UIViewController,我可以毫无问题地在它们之间传递值。当我尝试将值传递给第三个视图(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从前一个视图传递的值进行设置。

有任何想法吗

谢谢罗德里戈

4

1 回答 1

2

改变:

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

和:

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

finalResult是类型UITextField而不是NSStringinitWithTitle:要求 aNSString而不是UITextField你现在设置的 a 。

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

finalResult = [[UITextField alloc] init];至少需要在设置文本的位置之前执行此操作。我建议你在UITableViewController.

于 2013-04-17T15:36:06.887 回答