我试图在触发展开segue的模态视图中执行某个操作后更改viewController的标签。
一旦解开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 :(得分:0)
我做到了!我最终使用了一个全局布尔变量。我在菜单的初始加载时将其设置为true,然后在展开segue期间将其翻转为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."
}
}
希望有所帮助!