我已經開始通過在Swift編程語言上完成一些在線課程來學習編程。我正在試驗一個Xcode項目,其中我的主要故事板中有兩個視圖控制器。使用Swift,如何從另一個視圖控制器中的按鈕調用一個視圖控制器中編碼的函數?
在項目中,我有一個按鈕,把我從視圖控制器1查看控制器2.查看控制器2有三個按鈕:
- 一個通過郵件應用程序觸發一個新的電子郵件
- 一個關閉屏幕並將用戶返回到第一個視圖控制器屏幕
- 第三個應該調用一個函數(位於第一個視圖控制器的ViewController.swift中的代碼)。
有問題的功能其實很簡單:
func ResetGame()
{
PlaySoundButton()
score = 0
totalquestionsasked = 0
}
我已經失去了的我試圖得到這個工作的所有方式計數了,但是我認爲這將只是一個
@IBAction func buttonResetGame(sender: UIButton) {
ResetGame()
}
或者
@IBAction func buttonResetGame(sender: AnyObject) {
ResetGame()
}
:用代碼在第二視圖中的下面演示之一直接的鍵
但當然這會導致使用未解析標識符'ResetGame'錯誤。
我也嘗試了按鈕的代碼中直接編碼功能按照下面的例子:
@IBAction func buttonResetGame(sender: UIButton) {
PlaySoundButton()
score = 0
totalquestionsasked = 0
}
但是,當然,這也不能工作。
我研究了這一點,它似乎可以在Objective C和其他編程語言中,但我似乎無法找到使用Swift的示例。這是否意味着這是不可能的,或只是它不是做的事情?
總結:
- 這可能嗎?
- 如果是這樣,怎麼樣?
- 如果不推薦,爲什麼不呢?
- 最後,跨視圖控制器使用函數的推薦方法是什麼?
你能發表一些代碼嗎?特別是有問題的功能。然後,我們可以就最佳解決方案提供建議。 –
@Renk不用擔心,只是編輯了包含代碼的問題。正如你所看到的,這個功能非常簡單。 – Monomeeth
谷歌單身人士和代表團。這個問題之前已經被問過很多次了,並且迅速有很好的答案。 –