2016-04-28 105 views
0

EDITED在視圖控制器之間傳遞多個數據

我一直在傳遞多個label.text到另一個viewController在swift中的問題。我可以在兩個控制器之間傳遞一個標籤,但是我不能讓它傳遞多個標籤。通常,當我嘗試傳遞多個標籤時,Segue在另一側完成標籤時只是說標籤(標籤傳遞的名稱),而不是標籤中應該包含的答案。如果我在沒有賽車的情況下運行它,所有的標籤都會發布他們應該的內容。例如:

 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    let breakviewcontroller: BreakAnswer = segue.destinationViewController as! BreakAnswer 

    breakviewcontroller.ubrlab1 = ubrLabel1.text! 
    breakviewcontroller.ubrlab2 = ubrLabel2.text! 
    breakviewcontroller.ubrlab3 = ubrLabel3.text! 



} 

//this is the other view controller 
@IBOutlet weak var ubrAnswer1: UILabel! 

@IBOutlet weak var ubranswer2: UILabel! 

@IBOutlet weak var ubranswer3: UILabel! 



var ubrlab1: String = "" 
var ubrlab2: String = "" 
var ubrlab3: String = "" 








override func viewDidLoad() { 
super.viewDidLoad() 


ubrAnswer1.text = ubrlab1 
ubranswer2.text = ubrlab2 
ubranswer3.text = ubrlab3 

我也試過這個作爲形成對每一個新的讓(讓breakviewcontroller,breakviewcontroller1 ... ECT) 我相信我有正確設置監守任何時候我其他視圖控制器發送一個我可以得到它的工作。 我剛開始編寫代碼,我的所有知識都來自於閱讀互聯網上的東西。任何幫助將不勝感激。由於

+0

當你開始你的編碼旅程提示:您的代碼會更可讀(和你的問題比較容易回答)如果你使用更清晰,更具描述性的變量名。你可能知道什麼是帶有eytd屬性的tsga,但是整個互聯網很可能會被淹沒(就像任何其他人出於任何原因遇到你的代碼一樣,或者甚至你自己在幾年後重新訪問該程序)道路......) – WendiKidd

+0

此外,功能似乎並不完整。你是否錯過了複製/粘貼的幾行內容? – WendiKidd

+0

對不起,我剛剛使用了一個例子......那是我剛剛搞的一個例子..我向你保證,我正在製作的項目更具可讀性(或者至少對我來說)只是想在這裏扔東西,看看如果有人知道我在說什麼,並有任何幫助我的方法。 – Icculus

回答

2

隨着賽格瑞

// CurrentViewController

var dictWithDetails = Dictionary<String, AnyObject>() 

self.performSegueWithIdentifier("SegueFromCurrentViewControllerToNewViewController", sender: dictWithDetails) 


override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) 
{ 

    let objNextViewController : NextViewController = segue.destinationViewController as! NextViewController 

    var dict :Dictionary <String,AnyObject> = (sender as? Dictionary)! 

    objNextViewController.dictWithDetails=dict 

} 

// NewViewController

var dictWithDetails = Dictionary<String, AnyObject>() 

//現在使用這個dictWithDetails在viewWillAppear中或viewDidLoad中,所有的物體從發件人類(CurrentViewController )將在這裏可用

沒有塞克

@IBAction func clickToNextViewController(sender: UIButton) { 
{ 

    let objNextViewController = self.storyboard?.instantiateViewControllerWithIdentifier(「ID_NextViewController」) as? NextViewController 

    // objNextViewController.properties1 = currentClassproperties1 
    // objNextViewController.properties2 = currentClassproperties2 

    self.navigationController?.pushViewController(objNextViewController!, animated: true) 

} 
+0

感謝您的幫助...我試圖讓這個工作現在 – Icculus

相關問題