2017-06-06 62 views
0

另一UIViewController的,所以我有一個UIScrollView與所有這些按鈕與圖像重疊的:將數據傳遞到與按鈕

http://i.imgur.com/W6hagsa.png

,我需要它,這樣,如果你點擊一個老師,就像埃德蒙森先生爲數學,在另一個UIViewController中,彈出一個電子郵件屏幕,它需要將電子郵件收件人設置爲[email protected]

基本上,你點擊任何老師,並設置電子郵件收件人給那位老師。我目前在收件人&郵件正文中的代碼是:

let toRecipients = ["[email protected]"] 
mc.setMessageBody("blah blah blah blah") 

我該怎麼做?

+1

[視圖控制器之間傳遞數據]的可能重複(https://stackoverflow.com/questions/5210535/passing-data-between-view-controllers) – Rex

+0

不是這是我原來的帖子。 –

回答

0

您可以在故事板中使用segue。然後使用prepareSegue

像這樣的事情在你的TableViewController

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 

if segue.identifier == "detailSegue" { 
    let vc = segue.destination as! ViewController 
    vc.teacher = teachers[selectedItem] 
    } 
} 

你必須用VAR將selectedItem管理選定老師:在

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
     selectedItem = indexPath 
     print (selectedItem.row) 
    } 

INT如果它是不明確的,隨時給如果您需要更多解釋,我可以瞭解更多有關您的代碼的細節

問候 勒布

+0

我有ScreenView3中的按鈕和ScreenView5上的電子郵件收件人的滾動視圖,所以他們不直接在一起,這會影響代碼? –

0

創建viewcontoller屬性,並將其設置在prepareForSegue方法。

0

看一看下面的實例方法:

prepareForSegue:發件人:

使用此方法讓您的最終視圖控制器知道,你已經選擇了哪個老師,在您需要的下一個視圖控制器要自動加載教師的電子郵件地址,您可以執行以下操作:

將所有教師數據(包括姓名,電子郵件地址等)保存到CoreData模型中,然後在需要時加載選定的教師電子郵件地址。

這是一種很難解釋的細節,因爲我不知道你的代碼的結構和內容。