2014-12-13 62 views
0

我有一个函数ViewController,我想从一个UIButton在ProfileViewController执行。我将如何做到这一点?以下是我尝试过的代码。为另一个ViewController执行功能

守则ViewController

func hideProfileButton (sender:AnyObject) { 
    self.profileButtonOutlet.hidden = true 
} 

守则ProfileViewController

ViewController.hideProfileButton(self) 
+0

该通知自你调用该方法是一个实例方法,你需要得到一个指向视图控制器的实例您已拥有,或使用委托协议。你不能在课堂上调用该方法。 – rdelmar 2014-12-13 00:39:01

回答

0

你不能直接从另一个类的UIButton的执行一类的@IBAction
在这里,你正在处理的事情就像主人和奴隶。
在storyboard/Xib文件中,如果您定义您的viewcontroller的所有者是ProfileViewController,那么该视图的UIButton只响应它的所有者@IBAction。

您可以到视图控制器具有一个所有者像两个XIB文件与具有相同的所有者,然后像你的问题说的两种不同的XIB文件按钮调用相同@ IBAction为你能做的事,BR>

什么你能做的就是...
1]创建您的ProfileViewController@IBAction并致电ViewController's method
2]创建delegate对象ProfileViewController实施方案,如“btnClicked”,并通过实施使其ViewControllerresponse that delegate
3]创建NSNotificationViewController作为观察员,并呼吁从ProfileViewController(不理想的解决方案)