在我開始之前,讓我說,我已經在流行後對此事採取一看:Passing Data between View Controllers斯威夫特
我的項目是在github https://github.com/model3volution/TipMe
我的內一個UINavigationController,因此使用push
segue。
我已驗證我的IBAction
方法已正確關聯,並且segue.identifier
對應於故事板中的segue標識符。
如果我拿出prepareForSegue:
方法,那麼會發生segue,但顯然沒有任何數據更新。
我的具體錯誤消息是:Could not cast value of type 'TipMe.FacesViewController' (0x10de38) to 'UINavigationController' (0x1892e1c).
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
if segue.identifier == "toFacesVC" {
let navController:UINavigationController = segue.destinationViewController as! UINavigationController
let facesVC = navController.topViewController as! FacesViewController
facesVC.balanceLabel.text = "Balance before tip: $\(balanceDouble)"
}
}
下面的代碼和錯誤的屏幕截圖。 旁註:使用的Xcode 6.3,雨燕1.2
正如另一條評論已經建議:在你的問題中包含代碼。我現在爲你做了這個,因爲提供該項目下載到某處可以讓其他用戶更容易地幫助你。我喜歡那個:) +1 – luk2302