2015-10-19 125 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編程。