2015-03-30 117 views
0

我試圖改變一個viewController的標籤後,從模態視圖中觸發一個unwind segue採取了一定的行動。從unwind segue更新標籤

一旦展開繼續發生當前視圖的標籤(模式覆蓋的標籤)應該改變。

我目前這樣做的嘗試導致「意外地發現零,同時展開一個可選值」的錯誤。這裏是代碼:

class DataViewController: UIViewController { 

var experiment: NSDictionary? 
@IBOutlet weak var titleLabel: UILabel! 
@IBOutlet weak var bodyLabel: UILabel! 

@IBOutlet weak var tlRightLine: UIImageView! 
@IBOutlet weak var tlLeftLine: UIImageView! 
@IBOutlet weak var brRightLine: UIImageView! 
@IBOutlet weak var brLeftLine: UIImageView! 

@IBOutlet weak var bodyTest: UITextView! 

@IBAction func removeExperimentSegue(unwindSegue:UIStoryboardSegue) { 
    removeExperiment = true 
    titleLabel.text = "Done" 
    bodyLabel.text = "Done" 
} 

override func viewWillAppear(animated: Bool) { 
    super.viewWillAppear(animated)   
    if let dict: NSDictionary = experiment { 
     if let title = dict.objectForKey("title") as? String { 
      self.titleLabel!.text = title 
     } 
     if let body = dict.objectForKey("body") as? String { 
      self.bodyTest!.text = body 
     } 
    } else { 
     self.titleLabel!.text = "" 
     self.bodyLabel!.text = "" 
    } 
} 
} 

我在做什麼錯?

+0

我現在遇到同樣的問題。你有沒有找到解決方案? – 2015-05-25 04:05:32

回答

0

我做到了!我結束了使用全局布爾變量。我在菜單的初始加載時將其設置爲true,然後在放鬆過程中將其翻轉爲false。

var removeExperiment = false 

class DataViewController: UIViewController { 

@IBAction func removeExperimentSegue(unwindSegue:UIStoryboardSegue) { 
    removeExperiment = true 
} 

if removeExperiment == true { 
     doneLabel.text = "You've completed this experiment. You won't see it again unless you hit 'Reset' from the Home menu." 
    } 

} 

希望有所幫助!