如何使用First Responder调用另一个View Controller方法

时间:2015-01-07 19:35:05

标签: ios objective-c uiviewcontroller first-responder

我一直在尝试按照本文介绍如何使用First Responder。

http://www.cocoanetics.com/2012/09/the-amazing-responder-chain/

似乎一个视图控制器存在于导航控制器之类的容器中,我应该能够调用另一个视图控制器中实现的第一个响应方法

这是Storyboard中的布局:

UINavigationController - (关系) - > UITableViewController1 - (推送) - > UITableViewController2

我想在UITableViewController1

中实现一个方法

- (void)coolMethod:(id) { ... }

但是在UITableViewController2中调用该方法

[[UIApplication sharedApplication] sendAction:@selector(coolMethod:) to:nil from:nil forEvent:nil];

我想要的是sendAction:to:from:forEvent:将动作发送到UINavigationController,然后将其发送到UITableViewController2

我想要实现的可能性是什么?我做错了什么?

(另外,我尝试在故事板中将其链接起来,但它不会连接。显然有些错误,但我不知道我错过了什么)

非常感谢您给我的任何帮助或建议!

1 个答案:

答案 0 :(得分:2)

这不是响应者链的用途,并且您的VC1不在VC2的响应者链中。我想你可以实现自己的导航控制器子类来做到这一点,但它不是一个好的代码。

通过为VC2提供委托属性并使VC1实现dal agate协议并在推送VC2时将其自身设置为委托来更好地处理您所描述的内容。