2015-10-19 91 views
1

我想从一个ViewController调用函数到另一个,因为在一个我有PageMenuVC(VC中,我试图调用BarButtonItem的函数原因,在另一个我有tableview它显示在PageMenuVC )。从其他VC调用函数

Func键在TableViewController

func doEdit(sender: AnyObject) { 

    if (self.tableView.editing) { 
     editButton.title = "Upraviť" 
     self.tableView.setEditing(false, animated: true) 
    } else { 
     editButton.title = "Hotovo" 
     self.tableView.setEditing(true, animated: true) 
    } 
} 

拨打PageMenuVC

我打电话

@IBAction func doEdit(sender: AnyObject) { 
    MojeTesty().doEdit() // What should be in doEdit?(here?)? 
} 
+0

什么'MojeTesty()'函数*假设它是一个函数)在你的PageMenuVC?假设它返回你的TableViewController的实例,你只需调用'MojeTesty()。doEdit(sender)' –

+0

是的。但是,如果我用括号中的发件人,因为你说它不会“工作”,因为按钮并没有改变按钮的名称什么是功能。 – patrikbelis

+0

它应该改变editButton(我猜是Outlet)是不是你想要的? –

回答

1

至于编译而言,解决这一类的东西是这样申明你的doEdit

func doEdit(sender:AnyObject?) { 

现在您可以通过nil,因为您没有真正的sender

但是,这不会有任何影响,因为当你说MojeTesty()你得到一个不同的实例该类 - 不是你想谈论真正的一个。您需要停下来掌握面向对象编程(类和实例)的基本概念;如果你不明白什么是实例,你将永远无法为iOS编程。