2

我已经实现了一切,当我返回到源视图控制器时会触发以下方法:

- (IBAction)returned:(UIStoryboardSegue *)segue {
    ...
}

我想从要返回的视图中的 UITextField 中获取值,并将源视图(或调用此方法的视图)中的值设置为该 UITextField 的值。

我试过这个:

- (IBAction)returned:(UIStoryboardSegue *)segue {
    AddTextViewController *returnedFromViewController = segue.destinationViewController;
    NSString *inputtedText = returnedFromViewController.textField.text;
    self.foo = inputtedText;
}

但我得到这个错误:

[RootViewController textField]: unrecognized selector sent to instance 0x8dc0250
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[RootViewController textField]: unrecognized selector sent to instance 0x8dc0250'

我在上面的代码中做错了什么?几乎没有这方面的任何文档,所以我很难在自己周围搜索。

4

2 回答 2

3

您使用了错误的控制器。你想要的是 segue 的sourceViewController,而不是destinationViewController. 否则,你做的都是正确的。

于 2013-03-20T21:41:52.487 回答
0

最好的方法是实现协议/委托。委托将处理来自您的目标视图控制器的任何请求,并将数据发送回您的源视图控制器。

http://iosdevelopertips.com/objective-c/the-basics-of-protocols-and-delegates.html

于 2013-03-20T21:56:13.390 回答