0

我有一个导航控制器。在我的第二个视图中,我想要一个按钮,当被点击时,转到第一个 viewController 并在那里设置一个文本。

所以,在我的按钮(secondView)中,我有:

SearchViewController *svc=[[SearchViewController alloc]init];
[svc setValueMethod:@"randomString"];
[self.navigationController popToRootViewControllerAnimated:YES];

在我的 fitView 中:

-(void)setValueMethod:(NSString *)myPassedString
{
    _searchField.text = myPassedString;
}

但是 _searchField 现在为空。但是当你第一次进入应用程序时,它可以正常工作,你可以让 _searchField.text = @"aString"; 那项工作。但在从 secondView 弹出后,它为空!

有人可以帮我吗?

4

1 回答 1

2

原因是您通过以下行创建了一个名为 svc 的 SearchViewController 新实例:SearchViewController *svc=[[SearchViewController alloc]init];。但是这个 svc 实例和 SearchViewController 的原始实例(你进入应用程序时首先看到的那个)并不相同。

您需要使用委托协议。它用于这种类型的场景。这个SO有一个代码示例。

于 2012-06-26T17:46:55.070 回答