2016-11-28 398 views
-1

我還沒有找到我的問題的確切解決方案。我需要將數據從一個視圖控制器傳遞到另一個視圖控制器。問題是,在segue之後,傳遞的字符串數據不會出現在標籤中。將數據從視圖控制器傳遞到另一個視圖控制器

func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject) { 
    if (segue.identifier == "segue1") { 
     if let destination = segue.destination as? ResultsViewController { 
      destination.name = correctslabel.text! 

第二控制器:有剛變量和「name」和一個UIlabel,其不顯示傳遞的數據。

import UIKit 

class ResultsViewController: UIViewController { 

    @IBOutlet var namelabel: UILabel! 
    var name = "" 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     name = namelabel.text! 
    } 
}  

我已經嘗試了很多方法來做到這一點,但他們都沒有工作。謝謝

最後我爲我做了一個重寫函數,這意味着我必須將發件人從AnyObject更改爲Any ?.

回答

0

你沒試過嗎?

// ResultsViewController.swift 
override func viewDidLoad() { 
    super.viewDidLoad() 
    namelabel.text = name 
} 
+0

它顯示一個錯誤:可選類型「字符串」的值不解包 –

+0

@TobyV。在發佈的代碼中,您通過這種方式聲明瞭名稱-var'var name =「」'。這意味着沒有東西可以打開,它已經是非可選的了。是否有可能,您最近已將聲明更改爲'var name:String? =「」'? –

+0

我使用那裏使用namelabel.text = name和namelabel.text是可選的,所以它可能是問題。你知道如何做一個非可選的嗎?非常感謝 –

相關問題