2016-09-22 51 views
2

我是swift新手,剛好發佈了Swift 3,但蘋果文檔仍然使用Swift2語法。比較發件人:任何?到UIBarButtonItem

理解,下文(Swift2)

@IBOutlet var weak saveButton:UIBarButtonItem! 

此方法允許您配置ViewController它的呈現之前。

override func prepareForSegue(segue: UIStoryboardSegue, sender:AnyObject?) { 
if saveButton === sender { //originally swift 2 can compare 

} 

已更改爲(Swift3)

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

現在的SWIFT 3我無法檢查if sender = saveButton

我是很新的雨燕,是我需要投像sender as UIBarButtonItem?

Original Apple Guide

回答

7

試試這個prepareforsegue的方法。

override func prepare(for segue: UIStoryboardSegue, sender:Any){ 
    if let barButton = sender as? UIBarButtonItem { 
      if saveButton == barButton { 
       //Do what you want 
      } 
    } 
} 
+0

感謝以爲蒙上做的工作 –

+0

歡迎隊友:) –

+1

它不應該是'如果saveButton === barButton {'? –

0

如果y你需要給你簡單的說sender as! UIBarButtonItem

0

你還可以:

1)選擇賽格瑞已創建爲UIBarButtonItem和目標控制器之間的連接。

2)將其命名爲

enter image description here

3)測試它

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

    if segue.identifier == "MyIdentifier" { 
     // actions 
    } 
}