我已经实现了所有内容,以及返回源视图控制器时触发的以下方法:
- (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'
我在上面的代码中做错了什么?几乎没有关于此的文档,因此很难自己搜索。
答案 0 :(得分:3)
您使用的是错误的控制器。你想要segue的sourceViewController
,而不是destinationViewController
。否则,你正确地做到了。
答案 1 :(得分:0)
执行此操作的最佳方法是实现协议/委托。代理将处理来自目标视图控制器的任何请求,并将数据发送回源视图控制器。
http://iosdevelopertips.com/objective-c/the-basics-of-protocols-and-delegates.html